Apache 서버에 SSL을 적용하려면 어떻게 하나요?
💡 요약 정리
- Apache 서버에 SSL을 적용하려면 SSL 모듈이 활성화되어 있어야 합니다.
httpd.conf와httpd-ssl.conf파일 설정을 통해 인증서를 적용해야 합니다.- 설정 완료 후 구문 오류 확인 및 아파치 서버 재시작으로 적용을 완료합니다.
- 443 포트에서 httpd 프로세스가 LISTEN 상태라면 적용이 완료된 것입니 다.
1. 설치 환경 확인
- OS: CentOS 5.x (64bit)
- Apache 버전: 2.2.23
설치 위치:
/home/APM/apache - SSL 파일 저장 위치:
/home/APM/apache/conf/ssl
파일 목록
- 개인키 파일:
ssl.key - 암호가 제거된 개인키파일:
ssl_nopasswd.key - CSR 파일:
ssl.csr - CRT 파일:
ssl.crt
2. Apache에 SSL 모듈 확인
- Apache에
openssl모듈이 포함되어 있는지 확인합니다.
[root@cafe24 ssl]# vi /home/APM/apache/conf/httpd.conf
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoin
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
3. no_passwd.key / ssl.crt 파일 적용
① httpd-ssl.conf에서 key 및 인증서 파일 적용
[root@cafe24 ssl]# vi /home/APM/apache/conf/extra/httpd-ssl.conf
Listen 443 ← SSL은 443 포트를 사용합니다
<VirtualHost _default_:443> ← 버추얼호스트 설정
DocumentRoot "/home/cafe24/www"
ServerName www.cafe24.com
ErrorLog /home/APM/apache/logs/ssl_error_log
TransferLog /home/APM/apache/logs/ssl_access_log
# SSL 엔진 On
SSLEngine on
# Cipher Suite
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
# SSL 인증서 파일 절대 경로
SSLCertificateFile /home/APM/apache/conf/ssl/ssl.crt
# 개인 키파일 절대 경로
SSLCertificateKeyFile /home/APM/apache/conf/ssl/ssl_nopasswd.key
# CA 기관 인증서 절대 경로
SSLCACertificateFile /home/APM/apache/conf/ssl/PositiveSSL.ca-bundle
- 위 파일에서 인증서 파일 경로는 실제 경로에 맞게 수정되어야 합니다.
- CSR 파일은 인증기관에 제출하여 CRT 파일을 수령한 후 사용해야 합니다.
4. SSL 적용 확인 절차
- 설정 구문 오류 확인
[root@cafe24 ssl]# /home/APM/apache/bin/httpd -t
Syntax OK
- Apache 재시작
[root@cafe24 ssl]# /home/APM/apache/bin/apachectl restart
- 443 포트로 httpd 프로세스가 실행 중인지 확인
[root@cafe24 ssl]# netstat -nlpt
예시 결과:
tcp 0 0 :::443 :::* LISTEN 20089/httpd
443 포트에서 httpd가 LISTEN 중이면 SSL이 정상적으로 적용된 것입니다.