Internet Explorer 无法使用单个 SSL 虚拟主机显示来自 apache 的页面

psc*_*eit 10 ssl internet-explorer apache-2.2

我有一个问题在不同的问题中以某种方式出现,但我仍然找不到解决方案。

我的问题是我在 debian 上的 apache 2.4 上托管一个站点,在 windows xp 上使用 SSL 和 Internet Explorer 7 显示

Internet Explorer cannot display the webpage
Run Code Online (Sandbox Code Playgroud)

我只有一个使用 ssl 的虚拟主机,但有不同的使用 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>
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

的输出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)
Run Code Online (Sandbox Code Playgroud)

我包含了这个问题的解决方案: Internet Explorer 无法显示页面,其他浏览器可以,可能是 htaccess / 服务器错误

我理解这个问题的答案:

如何在 SSL 上设置 Apache NameVirtualHost?

事实上:我只有一个域的 ssl 证书。我只想用 ssl 运行一个虚拟主机。所以我只想为 ssl 虚拟主机使用一个 ip。但是(重新启动/重新启动/测试后)Internet Explorer 仍然不会显示该页面。

当我也解释 apachectl -S 时,我已经只有一个 SSL 主机,这应该响应初始 SSH 握手,不是吗?

这个设置有什么问题?

非常感谢菲利普

更新:适用于所有其他浏览器。我用wireshark调试,服务器发送警报通知连接已关闭。但是我在日志中看不到问题

Jos*_*ber 2

它是否适用于其他浏览器,例如 WinXP 上的 Firefox、Vista/7/8 上的 IE7、IE8+、iOS、Android?

如果是,则怀疑您的密码套件可能过于严格/现代,不允许 IE7/XP。强制您的用户群升级其浏览器/操作系统或重新配置您的 SSLCipherSuite:

请参阅https://github.com/client9/sslassert/wiki/IE-Supported-Cipher-Suites

另请参阅此可能的 WinXP bug/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
Run Code Online (Sandbox Code Playgroud)

(在https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html上找到上述内容)