検索して検索しましたが、問題の解決策が見つかりません。おなじみのように聞こえたらお詫びしますが、途方に暮れています。
私が持っています:
すべての仮想ホストにワイルドカード証明書を使用する必要があります。
Opensslを使用してサイト/証明書をテストし、問題がないことを確認しました。
ポート80を介して標準のhttpを使用すると、すべてのサイトが正常に機能します。
Httpd-ssl.confを有効にすると、問題が発生し始めます。
Http-ssl.conf構成のいくつかの例を見て試しましたが、すべて断続的な接続障害が発生します。つまり、Firefox: "Secure Connection Failed"、IE11: "このページは表示できません "。 ただし、(各ブラウザで)ページを更新すると、ページが表示され、証明書が有効であることがわかります。
私が読んだところによると、http-ssl.confの設定が正しくないことを示していますが、Mozilla SSL Configuration Generatorを試しました( https://mozilla.github.io/server-side-tls/ssl-config-generator / )、多くのスタックオーバーフローの答えがありますが、それでも喜びはありません。
これは私の現在の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"
SSLCACertificateFile "C:\WebServer\Apache2.4\conf\extra\ssl\addtrustexternalcaroot.crt"
</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などのWebサイトでテストを実行すると、構成の変更が行われていなくても、プロトコルとハンドシェイクの結果がランダムに異なります。
OpenSSLを使用したテスト/検証では、散発的に正しい結果が得られましたが、ほとんどの場合、次の結果になりました。
sslハンドシェイクに失敗しました
原因は、httpd.confファイルに次のようなものがあったことです。
AcceptFilter https none
コメントアウトした後、問題は解決しました。
#AcceptFilter https none
私が設定を正しく解釈するとき、あなたはあなたのV-Hostsをローカルインターフェースに設定します。ページを適切に提供したい場合は、ホストをアクセス可能なIPに設定する必要があります。
<VirtualHost 0.0.0.0:443>
ServerName www.site.co.uk
ServerAlias www.site.co.uk
...
</VirtualHost>
またはサーバーのIP(つまり、192.168.23.4)
<VirtualHost 192.168.23.4:443>
ServerName www.site.co.uk
ServerAlias www.site.co.uk
...
</VirtualHost>
多分これはあなたの問題を修正します。
更新:私の設定は次のようになります(Linuxシステム)
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName www.foo.bar.com
ServerAlias foo.bar.com
DocumentRoot /var/www/foo
SSLEngine on
SSLProtocol TLSv1
SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH
SSLCertificateChainFile /etc/Apache2/ssl/2015/intermediate.crt
SSLCertificateFile /etc/Apache2/ssl/2015/public.crt
SSLCertificateKeyFile /etc/Apache2/ssl/private.open.key
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName www.bar.com
ServerAlias bar.com
DocumentRoot /var/www/bar
SSLEngine on
SSLProtocol TLSv1
SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH
SSLCertificateChainFile /etc/Apache2/ssl/2015/intermediate.crt
SSLCertificateFile /etc/Apache2/ssl/2015/public.crt
SSLCertificateKeyFile /etc/Apache2/ssl/private.open.key
...
</VirtualHost>
</IfModule>