问题描述

随着 Chrome 版本 44.0.2403.89 m 的发布,我注意到我们的网站现在已经完全破裂了。所有的 HTTP 网址都被重定向到 HTTPS 网址,这是一个问题,因为我们的网站不支持 HTTPS 。

请注意,任何其他浏览器都不会发生这种情况,并且正在使用以前的 Chrome 版本。

我已经尝试用相对链接替换我们所有的样式表调用,并且已经有效,但是自动或通过绝对路径加载的图像以及导航仍然被破坏。在接受安全警告并继续操作之后,导航时抛出的错误页面请参见下图。

任何人有任何建议,甚至可能更新.htaccess 文件,或功能的东西?

谢谢。

最佳解决方案

解决方案 1:在服务器上启用 mod_header,并将此规则添加到我的 appache2.conf 文件中:

<IfModule mod_headers.c>
  RequestHeader unset HTTPS
</IfModule>

解决方案 2:或者您需要将代码添加到当前主题的 fonction.php 文件中:

function https_chrome44fix() {
  $_SERVER['HTTPS'] = false;
}
add_action('init', 'https_chrome44fix',0);

次佳解决方案

这似乎是一个仅影响 Apache 的错误,该 Apache 将标题 HTTPS 的用户值作为未修复的标题 HTTPS 而不是 HTTP_HTTPS 发送。

您应该可以使用 simple plugin 修复它:

if ( empty ( $_SERVER['SERVER_SOFTWARE'] ) )
    return;

if ( FALSE === stristr( $_SERVER['SERVER_SOFTWARE'], 'apache' ) )
    return;

if ( empty ( $_SERVER['HTTPS'] ) )
    return;

if ( '1' === $_SERVER['HTTPS'] )
    $_SERVER['HTTPS'] = FALSE;

if ( '1' === $_SERVER['HTTP_HTTPS'] )
    $_SERVER['HTTP_HTTPS'] = FALSE;

第三种解决方案

WooCommerce 发布了一个修复这个问题的更新 (至少对我来说)

修复 – 修复 Google Chrome 强制使用 SSL 。这可能会导致负载平衡器或反向代理之后的网站出现一些问题。阅读更多。

their blog postGitHub 中的详细说明。

如果您正在使用更新,请确保刷新您的缓存插件。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。