Apache 웹 서버에서 HTTPS(SSL/TLS) 연결을 설정하기 위한 가상 호스트 설정
<VirtualHost *:443>
Protocols h2 h2c http/1.1
DocumentRoot "/www/test/"
ServerName domein/test.com:443
ErrorLog "logs/test.com-ssl-error_log"
CustomLog "logs/test.com-ssl-access_log" combined env=!not_log
SSLEngine on
SSLCipherSuite PROFILE=SYSTEM
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite <cipher_list>
SSLCertificateFile "/.../ssl.crt"
SSLCertificateKeyFile "/.../ssl.key"
SSLCACertificateFile "/.../chain_ssl.crt"
코드 분석
Protocols h2 h2c http/1.1
DocumentRoot: /www/test/
경로의 파일을 제공하도록 설정.
ServerName: domein/test.com:443
도메인에 이 설정이 적용된다.
SSLEngine on: SSL/TLS
기능을 활성화한다.SSL/TLS는 HTTPS 보안 연결을 가능하게 해줌. 즉, 데이터가 전송되는 동안 암호화되어 중간에서 도청당하지 않도록 한다.
SSLCipherSuite 및 SSLProtocol
SSLCipherSuite
: 허용할 암호화 알고리즘을 정의한다.
암호화 알고리즘은 데이터가 안전하게 전송되도록 데이터를 암호화하는 규칙이다. 암호화 수준이 높을수록 안전성이 증가하지만 속도는 다소 느려질 수 있음.
SSLProtocol ALL -SSLv2 -SSLv3
: SSL 프로토콜에서 SSLv2와 SSLv3를 제외하고 최신 TLS 프로토콜을 사용하도록 한다.
SSLCertificateFile, SSLCertificateKeyFile, SSLCACertificateFile
SSLCertificateFile
: SSL 인증서 파일 경로.
SSLCertificateKeyFile
: SSL 인증서의 개인 키 파일 경로.
SSLCACertificateFile
: 인증서 체인 파일 경로.
Proxy 설정