我有两种不同的应用程序。
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主机的错误日志说:重新协商握手失败:客户端不接受!?
答案 0 :(得分:2)
您需要两个不同IP地址的站点,因为在发送HOST http标头之前发生SSL握手。您可以使用相同的IP运行单独的端口号,但这对两个不同的Web服务没有帮助吗?