[완료]아파치 mod_ssl 사용시 여러개 인증서 사용할수 있나요?
글쓴이: gamza / 작성시간: 월, 2009/01/19 - 12:00오후
안녕하세요.
아파치의 mod_ssl을 사용해서 여러개의 virtual host에 서비스 하고 싶은데, 제대로 안되고 있습니다.
아래처럼 설정을 했을때, 여러개의 인증서를 등록해도 무조건 첫번째 등록한 것(11.crt만)의 인증서가 로드됩니다.
VirtualHost 192.168.0.10:443 에 등록. ServerName 192.168.0.11 ProxyTproxy On ProxyRequests Off ProxyPass / http:// 192.168.0.11/ ProxyPassReverse / http:// 192.168.0.11/ ProxyPreserveHost On SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /home/orchid/http/11.crt SSLCertificateKeyFile /home/orchid/http/11.key #SSLCertificateChainFile /home/orchid/http/chain_3.crt </VirtualHost> VirtualHost 192.168.0.10:444 에 등록 ServerName 192.168.0.12 ProxyTproxy On ProxyRequests Off ProxyPass / http:// 192.168.0.12/ ProxyPassReverse / http:// 192.168.0.12/ ProxyPreserveHost On SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /home/orchid/http/12.crt SSLCertificateKeyFile /home/orchid/http/12.key #SSLCertificateChainFile /home/orchid/http/chain_3.crt </VirtualHost>
혹시 원래 하나의 인증서만 로드되는지.. 아니면 여러개의 인증서를 등록했을때는 다른 방법이 있는지.. 궁급합니다. 도와주세요.
Forums:
한포트당 하나의
한포트당 하나의 인증서만 됩니다.
그래서 멀티도메인 인증서가 따로 있지요.
그냥 두번째 인증서를 Listen 442 정도로 세팅하시면 됩니다.
ps. 음... ip 가 다르다면 방법이 있을것 같기도 하네요.
아파치만으로 안된다면 iptables 까지 동원하면 가능해질것도 같습니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
각각의 virtual host
각각의 virtual host 마다 인증서를 각각 등록할 수 있지 않나요 ?
예전의 기억으로는 그랬던 것 같은데요...
문법적 오류는
문법적 오류는 안나지만 맨 처음에 나오는 인증서가 동작합니다.
ssl 특성상 443 포트에 접근하는것 자체가 인증을 통해야 하기 때문에,
인증 후 나오는 HOST 헤더로 구분할 방법이 없죠.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
현재 상태가 프록시
현재 상태가 프록시 서버입니다. 프록시에 두개의 SSL 사이트를 아래 443,444 포트로 등록했습니다.
VirtualHost 192.168.0.10:443
VirtualHost 192.168.0.10:444
그런데, 이것이 어떻게 된것인지 무조건 첫번째에 써준 443번 포트랑 연결한 인증서가 444번으로 들어가도 나온다는것입니다.
하나의 인증서만 로드되는 현상이 있는데, 이런경우 어떻게 해야 할지 모르겠습니다.
음...저는 NameVirtualHost
음...저는
NameVirtualHost *:443
Listen 443
<VirtualHost *:443>
이런식으로 모든곳에 포트번호를 함께 적어줍니다.
그런 차이도 있지 않을까요?
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
제가 자세하게
제가 자세하게 올리지 않은듯합니다.
말씀하신대로 모든곳에 포트번호를 함께 적어놨었습니다.
그래도 여전히 하나의 인증서만이 로드되더라구요.
제가 자세하게 안올렸나봅니다.
아래와 같이 올렸습니다.
( '<' 이 안먹어서 '('으로 우선 올림)
두번째를 완전히
두번째를 완전히 따로 두번째로 하세요.
순서도 중요합니다.
NameVirtualHost 1
Listen 1
VirtualHost 1
NameVirtualHost 2
Listen 2
VirtualHost 2
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
mod_ssl.c 소스를 보면
mod_ssl.c 소스를 보면 디렉토리별 옵션을 지원합니다.
이것은 디렉토리별 설정을 mod_ssl가 지원한다는 것이 됩니다.
정확히 말하면, 옵션의 설명에 Context속성에 directory가 있으면 디렉토리 설정이 가능하다는 것입니다. (아래 참조)
----
메뉴얼을 찾아보니
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslcertificatekeyfile
SSLCertificateKeyFile는
SSLCertificateKeyFile, SSLCertificateFile는 디렉토리별 config를 지원 안하는 듯 하네요.
그러나 Context에 "virtual host"라고 되어 있는 것으로 보아서는 virtual host별 설정을 지원하는 것이군요.
온갖 참된 삶은 만남이다 --Martin Buber
감사합니다.
감사합니다. 이것저것 테스트 하다가 제가 설정을 잘못한것을 알았습니다.
원래 기존 테스트에서 같은 IP에 SSL 두개 통신이 있고,
프럭시 서버가 중간에서 있는것이었는데, ServerName에 IP만 써줬더니 안되었었습니다.
즉, 아래처럼 ServerName이 같은것을 포트를 명시하지 않고 써줬더니 제일처음에 나온 인증서만 로드하는 상황이 되었던 것입니다.
그래서
ServerName 192.168.0.11:443
ServerName 192.168.0.11:444
이렇게 ServerName에 포트를 명시하니 제대로 되네요..^^
답변해주신 분들 감사합니다.
우연히 지나가는 일인..
conf파일 내용중에
VirtualHost 192.168.0.10:443 에 등록.
ServerName 192.168.0.11
ProxyTproxy On <<------ 요게 뭔가요? 뭐하는 역할인가요.
ProxyRequests Off
ProxyPass / http:// 192.168.0.11/
ProxyPassReverse / http:// 192.168.0.11/
ProxyPreserveHost On
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /home/orchid/http/11.crt
SSLCertificateKeyFile /home/orchid/http/11.key
#SSLCertificateChainFile /home/orchid/http/chain_3.crt
궁금해서 물어봅니다^^
댓글 달기