Apache 2使用VirtualHosts键入SSl

时间:2010-08-26 09:07:13

标签: apache ssl openssl virtualhost httpd.conf

我有两种不同的应用程序。

1) tools.helpme.com 需要用户提供客户端证书!

SSLCACertificateFile /usr/local/etc/apache22/certs/cacert.pem
SSLCertificateKeyFile /usr/local/etc/apache22/certs/server.key
SSLCertificateFile /usr/local/etc/apache22/certs/server.crt
SSLCertificateChainFile /usr/local/etc/apache22/certs/server.crt
SSLVerifyClient require

2) apps.helpme.com 仅需要来自服务器的基本SSL!

SSLCACertificateFile /usr/local/etc/apache22/certs/cacert.pem
SSLCertificateKeyFile /usr/local/etc/apache22/certs/server.key
SSLCertificateFile /usr/local/etc/apache22/certs/server.crt
SSLCertificateChainFile /usr/local/etc/apache22/certs/server.crt
SSLVerifyClient none

我让他们每个人独立工作 - 这是完美的。

但是,我不能让他们两个一起跑,他们在不同的VirtualHosts - 基于名称的托管。

如果我尝试同时运行它们,似乎(2)优先并且有效,但(1)获得GATEWAY_TIMEOUT! 该virtaul主机的错误日志说:重新协商握手失败:客户端不接受!?

1 个答案:

答案 0 :(得分:2)

您需要两个不同IP地址的站点,因为在发送HOST http标头之前发生SSL握手。您可以使用相同的IP运行单独的端口号,但这对两个不同的Web服务没有帮助吗?