Chrome 向所有请求添加了奇怪的 HTTPS:1 标头

Two*_*Div 20 browser google-chrome https ssl https-everywhere

我在与 HTTPS 相关的网站上遇到了很多奇怪的错误。这些网站在 FF 和 IE 中运行良好,但无法在 Chrome 中加载。看来,虽然我请求的是一个不安全的 URL (http),但谷歌浏览器会HTTPS:1向请求添加一个额外的标头。

这会导致某些服务器(可能是某些使用卸载 SSL 并提供共享主机的服务器)响应错误,因为服务器上没有 SSL。

我没有被重定向到安全页面 (HTTPS),而是源中的所有内部 URL 都被编辑为 https。

我已经检查了与 fiddler 的连接。这个解析不是在我的电脑上进行的,唯一的区别是这个HTTPS:1标题。

我创建了一个简单的 PHP 页面来打印$_SERVER变量。当我与铬访问它,我可以看到:[HTTP_HTTPS] => 1。我用 FireFox 看不到它。

我尝试清除所有数据,从我的谷歌帐户中取消配对 chrome,并从头开始删除和安装 Chrome。

有人对此有任何想法吗?它让我发疯。

Kir*_*rby 16

您遇到问题的那些站点很可能正在运行错误地解释HTTPS: 1请求标头的服务器代码。例如,在大约900,000 个站点上运行的 Wordpress WooCommerce 插件具有错误处理HTTPS: 1标题的错误代码。在此处查看他们最新的补丁文件:https : //woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

StackOverflow 上也有类似的帖子:https ://stackoverflow.com/questions/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

提供更多详细信息:Chrome 已实现万维网联盟 (W3C)的升级不安全请求规范。该规范的第 3.2.1 节Upgrade-Insecure-Requests HTTP 请求标头字段,其中指出

3.2.1. Upgrade-Insecure-Requests HTTP 请求标头字段

Upgrade-Insecure-Requests HTTP 请求标头字段向服务器发送一个信号,表示客户端对加密和身份验证响应的偏好,并且它可以成功处理 upgrade-insecure-requests 指令以使该偏好尽可能无缝提供。

这种偏好由以下 ANBF 表示:

“升级不安全请求:”*WSP“1”*WSP

https:\\如果HTTPS: 1在非安全 (http) 请求中设置标头,则像在 Wordpress 中运行 WooCommerce 插件的网站会错误地将响应中的所有 URL 重写为链接。

作为该网站的最终用户,唯一简单的解决方法是使用 Chrome 以外的浏览器,直到这些网站得到修复

  • @lisburnite 您正在运营不通过 HTTPS 提供服务的商业网站?您可能应该为您的客户提供一些保护并解决这个问题...... (3认同)

Two*_*Div 5

显然是版本 44 中的错误,似乎在最新更新中已修复。我现在使用 44.0.2403.107 并且问题似乎消失了。

更多信息在这里:http : //www.zdnet.com/article/brand-new-chrome-44-release- added-a-bug/


归档时间:

查看次数:

14362 次

最近记录:

9 年,8 月 前