【问题标题】:HTTPS header issue with Chrome version 44.0.2403.xxChrome 版本 44.0.2403.xx 的 HTTPS 标头问题
【发布时间】:2015-10-12 17:35:47
【问题描述】:

自从我安装了新的 Chrome 版本 44.0.2403.xx 以来,我一直在苦苦挣扎。

我最初的问题是我网站上的一些样式表是通过 https 加载的,但我的网站只有 http。

我使用wordpress,所以我在核心函数内部搜索,找到了在url中添加HTTPS的位置。

罪魁祸首是is_ssl() 函数。 Wordpress base 是对$_SERVER['HTTPS'] 变量的HTTPS 验证,我的设置为1。

我发现最后一个 Google Chrome 版本正在发送标头 HTTPs = 1

如何防止此标头对我的网站造成问题?

【问题讨论】:

标签: wordpress apache google-chrome https request-headers


【解决方案1】:

Google Chrome 发送的标头HTTPS: 1 在服务器端被翻译成$_SERVER['HTTP_HTTPS']。如果您遇到此问题并希望临时修复,请将以下内容添加到您的 wp-config.php 文件中:

// Chrome 44 HTTPS:1 header issue temporary fix
$_SERVER['HTTP_HTTPS'] = 0;

2015 年 7 月 29 日更新

从 chrome 版本 44.0.2403.107 开始,HTTPS 标头已被删除并替换为 Upgrade-Insecure-Requests: 1 标头。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 这适用于使用 Apache 的服务器(因为它正在修改 .htaccess 文件)。大多数 NGINX 服务器并非如此。根本问题是 WP 网站使用的任何东西都低于 WooCommerce 2.3.13。参考这里的问题解决方案superuser.com/a/943989
    • 您对 NGINX 的看法是正确的,但它不仅来自 WooCommerce,Wordpress Core 还包含一个使用 https 标头的函数:is_ssl()。就我而言,当我使用 get_template_directory_uri() 函数时出现问题
    • 如果你不运行 apache,你可以通过设置 $_SERVER['http'] = false; 来临时修复它。在 wp-config.php 中。
    • Pierre:WordPress 核心代码只检查$_SERVER['HTTPS'] 变量。这不会导致问题,因为导致 Chrome 出现问题的变量是 $_SERVER['HTTP_HTTPS']。核心不受此影响,但许多插件可能会受到影响。
    • 好吧,我可以向你保证,我的 var 是 $_SERVER['https']...这就是为什么我发现 is_ssl() 版本受到了影响...
    【解决方案3】:

    我有同样的问题,我解决了它在 functions.php 主题文件的末尾添加下一个代码:

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

    【讨论】:

      【解决方案4】:

      您在 WordPress 中使用过WooCommerce 吗? WooCommerce更新到最新版本2.3.13了吗?

      根据this文章,谷歌浏览器HTTPS存在问题:1

      我也面临这个问题,但在将WooCommerce 更新到最新版本2.3.13 后已经解决。

      【讨论】:

      • WooCommerce 使用了 Wordpress 的 is_ssl() 函数,可能最新版本不再使用这个函数了...
      【解决方案5】:

      GitHub 上的这个插件可以为你省去很多麻烦,直到下一个 Chrome 版本出来。

      它基本上强制 HTTPS 为假。 Google Chrome 中的修复程序将在计划于 2015 年 7 月 27 日发布的下一个版本中提供。在此之前,该插件应该会有所帮助。

      您可以在 GitHub 上查看: https://goo.gl/D54cWv

      干杯

      【讨论】:

        【解决方案6】:

        如果您无法修改服务器配置,或者仅出于测试目的可以使用此 chrome 插件Modify Headers for Google Chrome™,请进入插件并添加名称 (HTTPS) 和值 (0) 的操作 (Modify),不要忘记启用它。

        就是这样,您的 wordpress 网站将正常运行。

        【讨论】:

          猜你喜欢
          • 2022-07-08
          • 1970-01-01
          • 2018-05-13
          • 2017-06-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-13
          • 1970-01-01
          相关资源
          最近更新 更多