web-dev-qa-db-ja.com

Internet Explorerが単一のSSL仮想ホストでApacheからページを表示できない

別の質問でどういうわけか出てきた質問がありますが、まだ解決策を見つけることができません。

私の問題は、SSLを使用してdebian上のApache 2.4でサイトをホストし、Windows XPでInternet Explorer 7をホストしていることです

Internet Explorer cannot display the webpage

Sslを使用する仮想ホストは1つしかありませんが、httpを使用する仮想ホストは異なります。 SSLが有効になっているサイトの構成は次のとおりです(etc/sites-avaible/default-sslはリンクされていません)

<Virtualhost xx.yyy.86.193:443>
  ServerName www.my-certified-domain.de
  ServerAlias my-certified-domain.de

  DocumentRoot "/var/local/www/my-certified-domain.de/current/www"
  Alias /files "/var/local/www/my-certified-domain.de/current/files"

  CustomLog /var/log/Apache2/access.my-certified-domain.de.log combined

  <Directory "/var/local/www/my-certified-domain.de/current/www">
    AllowOverride All
  </Directory>

  SSLEngine on
  SSLCertificateFile /etc/ssl/certs/www.my-certified-domain.de.crt
  SSLCertificateKeyFile /etc/ssl/private/www.my-certified-domain.de.key
  SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM

  SSLCertificateChainFile /etc/Apache2/ssl.crt/www.my-certified-domain.de.ca

  BrowserMatch "MSIE [2-8]" nokeepalive downgrade-1.0 force-response-1.0
</VirtualHost>

<VirtualHost *:80>
  ServerName www.my-certified-domain.de
  ServerAlias my-certified-domain.de

  CustomLog /var/log/Apache2/access.my-certified-domain.de.log combined

  Redirect permanent / https://www.my-certified-domain.de/
</VirtualHost>

私のports.confは次のようになります:

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/Apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Apache2ctl -Sからの出力は次のようになります。

xx.yyy.86.193:443      www.my-certified-domain.de (/etc/Apache2/sites-enabled/020-my-certified-domain.de:1)
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server phpmyadmin.my-certified-domain.de (/etc/Apache2/conf.d/phpmyadmin.conf:3)
         port 80 namevhost phpmyadmin.my-certified-domain.de (/etc/Apache2/conf.d/phpmyadmin.conf:3)
         port 80 namevhost staging.my-certified-domain.de (/etc/Apache2/sites-enabled/010-staging.my-certified-domain.de:1)
         port 80 namevhost testing.my-certified-domain.de (/etc/Apache2/sites-enabled/015-testing.my-certified-domain.de:1)
         port 80 namevhost www.my-certified-domain.de (/etc/Apache2/sites-enabled/020-my-certified-domain.de:31)

私はこの質問の解決策を含めました: Internet Explorerはページを表示できません。他のブラウザーは可能です。htaccess/サーバーエラーの可能性があります

そして、私はこの質問の答えを理解しています:

SSLでApache NameVirtualHostを設定する方法

Faktの場合:ドメインのssl証明書は1つしかありません。そして、私はsslで1つの仮想ホストを実行したいだけです。そのため、ssl仮想ホストに1つのIPを使用したいだけです。しかし、それでも(再起動/再起動/テスト後)Internet Explorerはまだページを表示しません。

Apachectl -Sも解釈すると、SSLホストはすでに1つしかなく、これが最初のSSHハンドシェイクに応答するはずですよね。

このセットアップの何が問題になっていますか?

どうもありがとうフィリップ

更新:他のすべてのブラウザで動作します。私はwiresharkでデバッグし、サーバーは接続が閉じられたことを通知するアラートを送信します。しかし、ログに問題が表示されません

10
pscheit

WinXPのFirefox、Vista/7/8のIE7、IE8 +、iOS、Androidなど、他のブラウザーでも動作しますか?

「はい」の場合、暗号スイートがIE7/XPを許可するには制限が厳しい/最新ではないかと疑っています。ユーザーベースにブラウザ/ OSのアップグレードを強制するか、SSLCipherSuiteを再構成します。

https://github.com/client9/sslassert/wiki/IE-Supported-Cipher-Suites を参照してください

この可能なWinXPバグ/ KBホットフィックスも参照してください: http://support.Microsoft.com/kb/2541763/en-us

多分試してください:

SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4

(上記の https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html

2
Joshua Huber