Apache에 SSL 설정하기

|

가끔 https 프로토콜을 사용하거나 테스트 해야 할 상황이 있는데, 그놈의 인증서 어쩌구가 너무 사람을 힘들게 만든다. 아니 난 개인 용도로 그냥 https 프로토콜만 쓰면 되는데 그걸 매번 공인 인증기관을 통해서 어쩌구 하는건 너무 그렇잖아? (인증기관을 통해야 하는 것도 이번에 처음 알았..;;)


그냥 간단하게 apache에 mod_ssl을 올려보자.


참고 사이트 : http://windowx.tistory.com/421 (난 이런 건조한 설명이 좋더라구.)


일단 인증서를 만든다. 아래 단계를 차례대로 수행하면 crt, key, csr 파일이 생성되고, 이 중 key 파일과 csr 파일을 아파치가 사용하게 된다.


1) openssl genrsa -des3 -out ssl2010.key 1024
2) openssl req -new -key ssl2010.key -out ssl2010.csr
3) openssl x509 -in ssl2010.csr -out ssl2010.crt -req -signkey ssl2010.key -days 3560


1) 번 단계에서는 비밀번호를 입력하고 확인만 하면 종료된다.


2) 번 단계에서는 1) 번 단계에서 입력한 비밀번호를 입력하고, 인증 요구에 필요한 정보를 적는다. 뭐 자체 인증을 할거니까 딱히 필요하지 않아 보이긴 해도 성실하게 적어주게 된다. (응?) 그리고 이메일 주소까지 입력한 후에 다음 문구,


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:***
An optional company name []:***


이 두개의 입력 부분은 건너뛰어도 상관 없다.


3) 번 단계에서는 1) 번 단계에서 입력한 비밀번호를 입력하면 끝.


그 다음에 ssl.conf를 수정하는 과정인데. (요즘 아파치들은 좋아져서 /etc/httpd/conf.d 아래 있는 *.conf 파일들을 자동으로 읽어들이니, httpd.conf 수정 없이 /etc/httpd/conf.d/ssl.conf 만 고쳐도 되겠다)

반드시 입력해야 하는 것은 두개다.


SSLCertificateFile /etc/httpd/conf/ssl2010.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl2010.key


key 파일을 입력하지 않으면 아파치가 안 뜨는듯 하다. 보너스로 비밀번호 입력 쉘 설정 추가. (참고 블로그의 루비 스크립트가 돌지 않아서 이래도 되나 했더니 이래도 되는 것이였더라.)


#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
#SSLPassPhraseDialog  builtin
SSLPassPhraseDialog  exec:/etc/httpd/conf/sslpwd.sh


그리고 파일 내용은,


#!/bin/sh
echo "myapache-ssl-password"


이렇게 사이트를 만들면, 당연히 인증서 오류가 뜬다. (공인 인증기관을 통한 인증서가 아니기 때문에 당연한 이야기다.)



익스플로러의 경우 이렇게 표시된다. 계속 탐색합니다, 를 누르면 사이트의 컨텐츠를 볼 수 있다.


파이어폭스의 경우 이렇게 표시된다. 예외 추가를 해야 계속 탐색이 가능하다.

끝.


And