[英]One IP Address and Wildcard Certificate for multiple Virtual Hosts (Windows, Apache 2.4.2, OpenSSL 1.0.2e)
我进行了搜索,但是找不到解决方案,因此,如果听起来很熟悉,我深表歉意,但是我很茫然。
我有:
我需要为所有虚拟主机使用通配符证书。
当通过端口80使用标准http时,所有站点均可正常运行。
启用httpd-ssl.conf时,我开始遇到麻烦。
我已经看过并尝试了几个http-ssl.conf配置的示例,但是所有示例都导致间歇性的连接失败,即Firefox:“ 安全连接失败 ”,IE11:“ 无法显示此页面 ”。 但是 ,如果刷新页面(在每个浏览器中),则会显示该页面,并且可以看到证书有效。
根据我的阅读,它指向http-ssl.conf的错误配置,但是我尝试了Mozilla SSL配置生成器( https://mozilla.github.io/server-side-tls/ssl-config -generator / ),许多stackoverflow答案,但仍然没有喜悦。
这是我当前的httpd-ssl.conf文件:
Listen 443 https
SSLStrictSNIVHostCheck off
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:C:/Apache2.4/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<VirtualHost 127.0.0.1:443>
ServerName www.site.co.uk
ServerAlias www.site.co.uk
DocumentRoot C:\WebServer\Apache2.4\htdocs\www.site.co.uk
SSLEngine On
SSLCertificateFile "C:\WebServer\Apache2.4\conf\extra\ssl\site_wildcard.crt"
SSLCertificateKeyFile "C:\WebServer\Apache2.4\conf\extra\ssl\site_wildcard.key"
SSLCertificateChainFile "C:\WebServer\Apache2.4\conf\extra\ssl\site_wildcard.ca-bundle"
</VirtualHost>
<VirtualHost 127.0.0.1:443>
ServerName sub.site.co.uk
ServerAlias sub.site.co.uk
DocumentRoot C:\WebServer\Apache2.4\htdocs\sub.site.co.uk
</VirtualHost>
经过大量测试,我的原始评论未能解决问题。
证书配置正确。
在未进行配置更改的情况下,在ssllabs.com等网站上运行测试时,协议和握手结果将随机变化。
使用OpenSSL进行测试/验证偶尔会产生正确的结果,但是大部分时间导致:
SSL握手失败
原来的罪魁祸首是我在httpd.conf文件中有此文件:
AcceptFilter https none
注释掉后,它解决了问题:
#AcceptFilter https none
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.