StartSSL에서 인증서 발급 받는 방법은 해당 글에서 확인하시기 바랍니다.


- 본 글은 RedHat 계열 기준으로 작성되었습니다. Debian, Ubuntu는 내용이 다릅니다.

- 본 글은 CentOS 7 기준으로 작성되었으며, 아파치는 yum 기반 설치를 가정합니다.



1. 아파치 SSL 모듈 설치


yum -y install mod_ssl



2. 서버에 인증서 저장


mkdir /etc/httpd/conf/ssl


# /etc/httpd/conf/ssl 경로에 아래의 인증서 파일들을 저장합니다.

# 경로는 바뀌어도 상관 없습니다. 아래 4번 항목에서 해당 경로를 수정해 주면 됩니다.


# 넣어야 하는 인증서 관련 파일:

#     acu.pe.kr.crt (도메인 인증서) (StartSSL에서 제공하는 zip 파일에 동봉)

#     private.key (비밀키)


# 인증서 파일들에 대한 권한 설정

chown -R root.root /etc/httpd/conf/ssl

chmod -R 644 /etc/httpd/conf/ssl



3. 아파치 설정 파일(httpd.conf)에 SSL 모듈 로드, 옵션 파일 추가


vi /etc/httpd/conf/httpd.conf


# 아래 내용 추가 (빨간 부분을 서버에 맞게 수정)

LoadModule ssl_module modules/mod_ssl.so

Listen 443

<VirtualHost *:443>

    ServerName acu.pe.kr

    ServerAlias www.acu.pe.kr

    DocumentRoot /var/www/html

    SSLEngine on

    SSLCertificateFile /etc/httpd/conf/ssl/acu.pe.kr.crt

    SSLCertificateKeyFile /etc/httpd/conf/ssl/private.key

</VirtualHost>



4. 아파치 재시작


systemctl restart httpd


# 아파치 실행 시 비밀키(private.key)의 pass phrase를 물어봅니다.

# 비밀키를 생성할 때 입력했던 비밀번호를 입력하시면 됩니다.


# 아파치를 실행할 때마다 pass pharase를 입력하기가 귀찮으시면

# 인증서에 아예 비밀번호를 입력시킬 수 있습니다.

openssl rsa -in /etc/httpd/conf/ssl/private.key -out /etc/httpd/conf/ssl/private.key


# 단, 이렇게 되면 이제부터 개인키 파일이 외부로 노출되어서는 절대 안됩니다.

# 또한 작업하기 전의 원본 파일을 별도로 백업해 두시기 바랍니다. (갱신 시 필요)



5. SSL 적용 테스트


테스트 사이트: https://www.digicert.com/help/



*. 에러 발생 시


이런 메시지가 출력되면 실행에 실패한 것임:

Job for httpd.service failed because the control process exited with error code.


왜 실행이 실패했는 지 로그 확인:

systemctl status -l httpd


문제: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:443

이유: 다른 프로세스가 443 포트를 이미 사용중이므로, 해당 프로세스를 종료해야 함

해결: netstat -tunap | grep 443 명령어로 어떤 프로세스가 사용중인지 확인 후 종료

해결: 해결이 안되면 아파치 설정에 Listen 443이 중복 선언된 것, 따라서 주석 처리


문제: 홈페이지 접속 시 신뢰할 수 없는 인증서 메시지가 출력됨

증상: 서버의 인증서(crt)와 브라우저에 나타난 인증서의 지문(fingerprint)이 같지 않음

증상: Common Name(CA)에 이상한 랜덤 숫자가 표시됨

이유: 인증서가 아파치에 제대로 로드되지 않아 엉뚱한 인증서를 클라이언트에 제공함

해결: httpd.conf의 VirtualHost 443이 도메인을 잘 낚아채도록 수정


+ Recent posts