gpt4 book ai didi

apache - 网站在 IE 6 以外的浏览器中显示完美

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:33 25 4
gpt4 key购买 nike

我偶然发现了一个错误,我有 apache httpd 配置虚拟主机作为反向代理,这是我的虚拟主机:

<VirtualHost *:80>
ServerName example2.com

ErrorDocument 404 /404.html
ErrorDocument 503 /503.html
ErrorDocument 401 /401.html

###redirect permanent####
Redirect permanent / https://example2.com/
</VirtualHost>

<VirtualHost _default_:443>
ServerName example2.com

DocumentRoot /var/www/proxyhost/public_html

ErrorLog /var/log/httpd/proxyhost_ssl_error.log
CustomLog /var/log/httpd/proxyhost_ssl_requests.log combined

SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

BrowserMatch "MSIE [2-8]" nokeepalive downgrade-1.0 force-response-1.0

RewriteEngine on
RewriteRule ^/test1$ /test1/ [R]
RewriteRule ^/test2$ /test2/ [R]

ProxyPass /test1/ ajp://host1:8009/test/
ProxyPassReverse /test1/ ajp://host1:8009/test/
ProxyPass /test2/ ajp://host2:8009/test2/
ProxyPassReverse /test2/ ajp://host2:8009/test2/

ProxyPreserveHost On
ErrorDocument 404 /404.html
ErrorDocument 503 /503.html
ErrorDocument 401 /401.html
</VirtualHost>


<Directory /var/www/proxyhost/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

问题是,使用上面的配置对于像 chrome 和 firefox 这样的浏览器来说是完全没问题的。但是当我尝试在 win server 2003 上使用旧的 IE 6 访问网络时,无法加载该页面。我尝试使用 http(注释重定向功能)和 https 访问,但没有任何显示。

这是错误日志

[Sun Oct 28 13:23:32.502672 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_BRI.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.502679 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_BTN.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.502685 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_MANDIRI.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.503602 2018] [auth_digest:notice] [pid 22755] AH01757: generating secret for digest authentication ...
[Sun Oct 28 13:23:32.504221 2018] [lbmethod_heartbeat:notice] [pid 22755] AH02282: No slotmem from mod_heartmonitor
[Sun Oct 28 13:23:32.505594 2018] [ssl:warn] [pid 22755] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Sun Oct 28 13:23:32.507996 2018] [mpm_prefork:notice] [pid 22755] AH00163: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips configured -- resuming normal operations
[Sun Oct 28 13:23:32.508016 2018] [core:notice] [pid 22755] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

有什么解决问题的建议吗?因为我没有权力强制我们的用户升级他们的操作系统和浏览器。

谢谢,伽利赫

最佳答案

无论使用何种浏览器,您都需要修复配置错误。 Alias , No slotmem from mod_heartmonitor , ...

至于 SSL 错误,您使用的是 SNI ( Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366) )。 IE 6 不支持 SNI。所以 Apache 不知道 IE 6 用户试图访问哪个站点。

当 Apache 收到未启用 SNI 的请求时,它会查看端口(此处为 443),并使用在端口 443 上找到的第一个 VirtualHost 处理请求(在配置中自上而下)。因此 IE 6 用户将始终获得第一个 <VirtualHost *:443> 中标识的证书出现在您的配置中。

此时您有 2 个选择。

  1. 不支持 IE 6。在您的网站上注明旧版本不适用于您的网站(坦率地说,IE 6 非常旧,我知道的所有商业网站都不支持它不再)。
  2. 输入默认值 <VirtualHost *:443>您希望 IE 6 用户首先在您的配置中看到。但他们将无法联系到其他人。

编辑 22:45:如果 IE6 用户也无法访问您网站的 http 版本,则可能是:

  • 它们根本没有连接,请检查您的 Apache 日志。您应该将日志置于 Debug模式 ( LogLevel debug )。
  • 他们连接了,但是 Apache 不理解这个请求。再次检查 Apache 日志。
  • 他们收到一个页面,但 IE 在尝试呈现显示时崩溃。这可能是由 IE6 太旧无法理解的 JavaScript 代码造成的。验证浏览器是否收到页面。我不知道您是否可以在 IE6 中查看某些控制台(我知道最新版本确实有类似的东西)。如果 Javascript 执行失败,您将不会在 IE 中看到该页面。您可以尝试访问一个非常简单的测试页面。

关于apache - 网站在 IE 6 以外的浏览器中显示完美,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53028967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com