Internet Explorer 无法显示具有单个 SSL 虚拟主机的 apache 页面

Internet Explorer 无法显示具有单个 SSL 虚拟主机的 apache 页面

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

我的问题是,我在 Debian 上的 Apache 2.4 上托管了一个网站,使用 SSL,Windows XP 上的 Internet Explorer 7 显示

Internet Explorer cannot display the webpage

我只有一个使用 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>

我的 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?

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

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

这个设置有什么问题?

非常感谢菲利普

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

答案1

它可以在其他浏览器上运行吗,例如 WinXP 上的 Firefox、Vista/7/8 上的 IE7、IE8+、iOS、Android?

如果是,则怀疑您的密码套件可能过于严格/过于现代,无法允许 IE7/XP。要么强制您的用户群升级其浏览器/操作系统,要么重新配置您的 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

相关内容