본문으로 바로가기

아파치에 SSL을 적용.

httpd 데몬을 start 했는데 암호 입력 후 콘솔에는 오류 메시지가 없었다.

 

그런데 프로세스가 올라오지 않고 netstat -nlp | grep LISTEN 해 보면 80이나 443 포트도 비어있다.

 

ssl 로그를 보면 데몬 실행 시도 시 아래와 같은 메시지가 확인 되는데.

$ tail -f /usr/local/apache2/logs/ssl/ssl_log
SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

 

구글링을 해 보면 아래와 같은 점검 사항이 검색된다.

 

1. 인증서 crt 파일과 key 파일이 다른 문제이다

$ openssl x509 -noout -text -in filename.crt           # crt 파일 내용 확인
$ openssl rsa -noout -text -in filename.key            # key 파일 내용 확인

위와 같은 명령어로 각각의 내용 중 Modules 부분이 일치하는지 확인.

 

2. 아파치 conf 파일의 ServerName과 인증서 CN이 다른 문제이다

$ openssl x509 -in STAR.nprotect.com.crt -noout -subject
subject= /OU=Domain Control Validated/OU=Hosted by Dotname Korea Corp./OU=EssentialSSL Wildcard/CN=*.xxx.com

 

3. 인증서 파일을 재발급 받거나 다시 업로드 혹은 다시 압축해제

 

 

 

 

 

그런데 위 사항 모두 정상이었고 정작 원인은 conf에 있었으니

$ vi httpd-ssl.conf
...(생략)...
SSLCertificateFile "/usr/local/apache2/conf/xxx.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/xxx.key"
SSLCertificateChainFile "/usr/local/apache2/conf/xxx.crt"
...(생략)...

crt 파일이 서로 뒤바껴 있었음.