apache-ssl(httpsd)에서 인증서 문제
하나의 아파치에서 https://www.test1.com, https://www.test2.com 등
n개의 virtual host정의를 할수 있는 아파치 보안서버를 만들고 있습니다.
각각의 virtual host정의에 SSLCertificateFile를 이용하여 인증서의 위치를
정의해주고 아파치 데몬을 시작시키면 제일 처음의 virtualhost의 인증서만
계속 브라우저에서 나타납니다. 즉 https://www.test2.com으로 브라우징
하여도 test1의 인증서가 나타난다는 겁니다.
각각의 virtual host마다 자기 인증서를 이용해야 하는데 잘 안되네요~~
다음은 제가 정의한 virtual host정의입니다.
NameVirtualHost 192.168.2.1:443
User www-data
Group www-data
SSLNoCAList
SSLRandomFile file /dev/urandom 1024
SSLRandomFilePerConnection file /dev/urandom 1024
ServerType standalone
# The default port for SSL is 443...
Port 443
Listen 443
# My test document root
DocumentRoot /home/test/www
# Watch what's going on
TransferLog logs/transfer_log
SSLEnable
SSLCacheServerPath /opt/apache/bin/gcache
SSLCacheServerPort logs/gcache_port
SSLCacheServerRunDir /tmp
SSLSessionCacheTimeout 15
SSLCertificateFile /opt/apache/conf/httpsd.pem
SSLVerifyClient 0
SSLVerifyDepth 10
SSLFakeBasicAuth
CustomLog logs/ssl_log "%t %{version}c %{cipher}c %{clientcert}c"<VirtualHost www.test1.com:443>
Port 443
SSLVerifyClient 0
SSLVerifyDepth 10
SSLCertificateKeyFile /etc/apache-ssl/ssl.key/server_test1.key
SSLCertificateFile /etc/apache-ssl/ssl.crt/server_test1.crt
DocumentRoot /home/test1/www
TransferLog /var/log/apache-ssl/test1.com-access.log
ErrorLog /var/log/apache-ssl/test1.com-error.log
</VirtualHost><VirtualHost www.test2.com:443>
Port 443
SSLVerifyClient 0
SSLVerifyDepth 10
SSLCertificateFile /etc/apache-ssl/ssl.crt/server_test2.crt
SSLCertificateKeyFile /etc/apache-ssl/ssl.key/server_test2.key
DocumentRoot /home/test2/www
TransferLog /var/log/apache-ssl/test2.com-access.log
ErrorLog /var/log/apache-ssl/test2.com-error.log
</VirtualHost>
위의 설정내용은 debian의 apache-ssl의 패키지를 이용한 것입니다.
그리고, 제가 직접 아파치와 apache-ssl로 소스로 설치하여도 같은 현상이
나타납니다.
첨엔 apache + mod_ssl 을 이용하여 설치를 하였는데, mod_ssl은
name-based virtualhost를 아직 지원을 안하더군요...
혹, apache-ssl이 월래 하나의 인증서로 서비스를 하는건지
아무튼, 많은 고수분들의 도움을 바랍니다.~~~~
댓글 달기