如何在Chrome中停止从“http://”到“https://”的自动重定向


362

我在DNS设置中设置了一些古怪的东西,现在已经解决了。

剩下的问题是chrome缓存了错误的设置。

具体来说,使用Chrome时http://3rdrevolution.com,现在重定向到https://3rdrevolution.com(裸域),这是无效/支持的。 http://3rdrevolution.com 应该重定向到http://www.3rdrevolution.com然后强制https://www.3rdrevolution.com

但是在少数几个浏览器(包括我的浏览器)中,由于一些时髦的Chrome缓存,这种情况不会发生。我试着去“隐私 - >清除缓存”但它没有效果。


1
检查你的插件(如无处不在的SSL),你试过删除(shift + del)吗?尝试使用google.com/ncr而不是google.xx。
malakrsnaslava 2013年

Answers:


538

Anon对STS是正确的,但有一种方法可以从集合中专门删除你的域名。去吧chrome://net-internals/#hsts。在删除域安全策略下输入3rdrevolution.com,然后按Delete按钮。

现在转到chrome:// settings / clearBrowserData,勾选缓存的图像和文件框,然后单击清除数据按钮。


1
这对我有帮助!在内部开发并具有相同的重定向问题!
Marcello de Sales

2
伙计,这已经困扰了我多年,终于明白了,谢谢!一个潜在的问题:如果您遇到问题的域是子域,则可能需要从“HSTS集合中删除主域”,如果“包含STS的子域设置为true”。如果您在父域上运行查询,您应该看到是否为相关域设置了该查询。
Pooch 2016年

14
在我清除浏览器缓存之后,这对我有用。在Chrome中:设置>显示高级设置...>隐私>清除浏览数据... 来源
nittyjee

1
现在可以在页面左侧的域安全策略菜单项下找到
Brice

7
从63.0.3239.132开始,这没有任何作用。该规则似乎被忽略,甚至链接到localhost的自定义域现在也被重定向到https。令人讨厌的因素,必须使用自签名证书...
丹尼尔

203

我的问题来自于拥有一个.dev域名,该域名最近注册为通用顶级域名(gTLD),并提交给Chrome Canary。我从最近发现的一篇文章中发现了这一点,因为我搜索了我的问题。

如果您遇到同样的问题,那么最好的解决方案似乎是将您的域名更改为其他域名.dev。文章提出.test了一个潜在的解决方案.localhost(通过这个提案)。


39
这对我来说也是个问题。在我的本地开发机器上,我使用了.dev近10年了。我最近进行了谷歌Chrome更新,它开始将我的所有网站重定向到https,我无法理解。从来没有想过它与.dev有什么关系,然后我遇到了这个答案并将其改为.development并且一切运行良好......现在:-)。再次感谢!
conrad10781

17
完善!我不明白为什么Chrome会做这样的事情,因为我在本地有近30个.dev域名,所以非常烦人。希望这是一个非常非常好的理由。
Pablo Ezequiel Leone

4
我安装了wordpress,改变它的域可能是一个真正的头痛。相同的主目录名称ect。还有其他方法吗?
Rick Sanchez

8
这是因为谷歌购买.dev并且可能会开始使用它来制作公共网站。
Hilton Shumway

15
FML ......因为这个原因,我几乎放弃了我10年以上的网络开发生涯。#starbucksbarista
elbowlobstercowstand

20

https://www.3rdrevolution.com发送Strict-Transport-Security标头,因此通过https访问它会使Chrome / Firefox等浏览器将http请求重定向到https,直到将来某个指定点。

正如另一个答案所说,一旦启动就停止此操作的唯一方法是清除浏览器缓存(或等待浏览器使订单失效)。


16

删除chrome:// net-internals中 “HSTS”菜单下的,这是一个临时解决方案。通过HTTPS访问此域后,它将再次包含在HSTS列表中。

基本上,要解决此问题,必须在Web服务器3rdrevolution.com(IIS,Apache,nginx,...)上禁用HTTP严格传输安全性。对于nginx,在nginx.conf中编辑其HTTPS部分,并为Strict-transport-Security设置'max-age = 0':

server {
#...
        ssl on;
#...
        add_header Strict-Transport-Security "max-age=0;";
#...
}

更多信息:HTTP严格传输安全(HSTS)


我无法使add_header方法起作用。
Alex Barker

对我来说,服务器没有发出HSTS标头,所以这不是一个解决方案。据我所知,当我用https意外访问时记录了chrome,并创建了一个内部HSTS记录,然后每次神秘地将我重定向到https。修复是使用chrome:net-internals中的删除HSTS记录。那里也有一个方便的检查员。
抢劫

1
删除HSTS记录是一种临时解决方案。在访问https至untill服务器发送“max-age = 0”后,您将一次又一次地获取此记录。
2285323

12

这可能有几个原因,包括插件,但假设您没有安装任何插件,您可以执行以下操作:

转到设置/隐私/清除浏览数据...

在下拉菜单中选择时间的开始

选择:

  • 清除已保存的自动填充表单数据
  • 删除Cookie和其他网站和插件数据
  • 清空缓存

选择清除浏览数据

这应该照顾它根据您以前的浏览进行任何自动填充。此外,它将删除任何可能导致问题的cookie。


对我来说问题是缓存。我能够在firefox和Chrome隐身窗口中访问我的http网站。该网站没有cookie。
ton.yeung 2016年

1
这对HSTS没有的地方也有用。我只需要检查“图像和文件”复选框。
dgig

这对我有用,而HSTS和其他解决方案则没有。
AllisonC 2017年

这对我也有用。
jcubic

4

设置>显示高级设置>内容设置>所有Cookie和网站数据是一个不那么彻底的替代方法,然后搜索有问题的网站并清除仅限于那些网站的Cookie。


谢谢这个完美的工作。我不知道为什么Chrome会让这个隐藏的功能.....实际上,我可以猜到为什么...
ktec

这似乎不适用于当前的Chrome版本。
Vylix

4

如果您在子域上遇到问题,那么即使子域位于另一个服务器中,Nginx中的此行也可能会导致问题,因为浏览器将缓存此信息。

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

所以删除includeSubdomains;它以使其工作。


3

在几天之前,我不小心打开了名为的Chrome选项:

  • 自动将一些系统信息和页面内容发送给Google,以帮助检测危险的应用和网站
  • 保护您和您的设备免受危险场所的侵害

现在主要问题是我们的子域网站总是从http://重定向到https://并且浏览器给了我一个错误:

“您的连接不是私密的。攻击者可能会试图从censored.censored.com窃取您的信息(例如,密码,邮件或信用卡).NET :: ERR_CERT_COMMON_NAME_INVALID”

打开chrome:// settings / privacy并打开以前命名的chrome选项,自动保护您的设备。希望这会对某人有所帮助。


似乎没有为我工作。
Dave Burton

2

在Chrome 66中,Settings标签中的批次已更改

你可以去,chrome://settings/resetProfileSettings?origin=userclick然后点击重置。

这对我有用。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.