본문으로 건너뛰기

Apache 서버에 SSL을 적용하려면 어떻게 하나요?

💡 요약 정리

  • Apache 서버에 SSL을 적용하려면 SSL 모듈이 활성화되어 있어야 합니다.
  • httpd.confhttpd-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 모듈 확인

  1. 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 적용 확인 절차

  1. 설정 구문 오류 확인
[root@cafe24 ssl]# /home/APM/apache/bin/httpd -t
Syntax OK
  1. Apache 재시작
[root@cafe24 ssl]# /home/APM/apache/bin/apachectl restart
  1. 443 포트로 httpd 프로세스가 실행 중인지 확인
[root@cafe24 ssl]# netstat -nlpt

예시 결과:

tcp        0      0 :::443               :::*                    LISTEN      20089/httpd
443 포트에서 httpd가 LISTEN 중이면 SSL이 정상적으로 적용된 것입니다.