아파치 가상호스팅 멀티도메인 SSL 설정하며..
요즘 보안때문에..
기관에서 ssl 인증서 없는 사이트에 겁을 주니까
해달라는 고객이 많은데..솔직히 좀 짜증나네요..
서버 하나에 단독으로 설치하는건 mod_ssl 재컴파일해서 하면 되는데..
사실 컴파일도 번거롭죠..
그냥 centos 에 있는 기본 APM 과 mod_ssl 을 rpm 으로 설치했는데
그냥저냥 잘 돌아갑니다.
간단한 설치는
http://www.comodossl.co.kr/SSL/InstallGuide.aspx
여기 참조해서 되는데..
문제는 여러 사이트가 같이 있는 가상호스팅의 경우
그냥 인증서가 아니라 멀티도메인 인증서를 사용하는게 낫더군요..
..
#### 바다웹호스팅 SSL 설정하기
1. 멀티 도메인을 이용한 SSL 가상호스팅 설정
1) 먼저 서버의 도메인에 해당하는 키파일을 만든다.
# openssl genrsa -des3 -out home6.bada.cc.key 1024
# openssl req -new -key home6.bada.cc.key -out home6.bada.cc.csr
2) 이렇게 생성된 home6.bada.cc.key home6.bada.cc.csr 파일을 인증기관에
메일로 보내거나 신청폼에서 인증서를 요청한다.
3) 인증기관에서 생성된 인증서를 보내온다.
[nonots@old4 Desktop]$ unzip -l M-20080827-095006-7506896.zip
Archive: M-20080827-095006-7506896.zip
Length Date Time Name
-------- ---- ---- ----
1521 05-30-00 10:48 AddTrustExternalCARoot.crt
1631 06-07-05 08:09 UTNAddTrustServerCA.crt
2236 08-29-08 00:00 7506896.crt
-------- -------
5388 3 files
와 같이 3 개 파일이 압축파일오 보내오는데 여기서 필요한건
UTNAddTrustServerCA.crt, 7506896.crt 파일 2 개이다.
4) 아파치 설정파일 httpd.conf 에서
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
와 같이 443 도 가상호스팅이 가능하게 설정한다.
5) ssl.conf (어떤경우 httpd.conf 하단에 포함된 경우도 있음) 설정
최초 설정한 키파일 : /etc/httpd/conf/home6.bada.cc/home6.bada.cc.key
메일로 보내온 인증서 : /etc/httpd/conf/home6.bada.cc/7506896.crt
메일로 보내운 CA파일: /etc/httpd/conf/home6.bada.cc/UTNAddTrustServerCA.crt
를 모두 각 가상도메인 설정에 동일하게 적용
그리고 VirtualHost 지시자에서 *:443 와 같이 설정함.
1.3 버전에서 www.domain.com:443 혹은 [IP번호]:443 와 같이 하면 에러남
<VirtualHost _default_:443> DocumentRoot "/usr/local/apache/htdocs" ServerName home6.bada.cc ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/httpd/conf/home6.bada.cc/7506896.crt SSLCertificateKeyFile /etc/httpd/conf/home6.bada.cc/home6.bada.cc.key SSLCACertificateFile /etc/httpd/conf/home6.bada.cc/UTNAddTrustServerCA.crt .... </VirtualHost> <VirtualHost *:443> DocumentRoot "/home/webjigi/public_html" ServerName <a href="http://www.aaa.com" rel="nofollow">www.aaa.com</a> ServerAlias aaa.com ServerAdmin <a href="mailto:root@home4.bada.cc" rel="nofollow">root@home4.bada.cc</a> ErrorLog logs/aaa.com-error_log TransferLog logs/aaa-access_log LogLevel warn SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/httpd/conf/home6.bada.cc/7506896.crt SSLCertificateKeyFile /etc/httpd/conf/home6.bada.cc/home6.bada.cc.key SSLCACertificateFile /etc/httpd/conf/home6.bada.cc/UTNAddTrustServerCA.crt .... </VirtualHost> <VirtualHost *:443> DocumentRoot "/home/bbb/public_html" ServerName <a href="http://www.bbb.com" rel="nofollow">www.bbb.com</a> ServerAlias bbb.com ServerAdmin <a href="mailto:root@home4.bada.cc" rel="nofollow">root@home4.bada.cc</a> ErrorLog logs/bbb.com-error_log TransferLog logs/bbb-access_log LogLevel warn SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/httpd/conf/home6.bada.cc/7506896.crt SSLCertificateKeyFile /etc/httpd/conf/home6.bada.cc/home6.bada.cc.key SSLCACertificateFile /etc/httpd/conf/home6.bada.cc/UTNAddTrustServerCA.crt .... </VirtualHost>
2. 싱글 도메인을 이용한 SSL 가상호스팅 설정
- 포트를 443 이외의 442 혹은 444 등을 열어서 포트기반 가상호스팅 설정
- 이때는 각 가상 도메인의 VirtualHost 지시자 설정에서
key 파일과 crt 파일을 각각 도메인에 맞는 파일로 따로 설정해줘야함.
댓글 달기