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

phi*_*son 531 google-chrome

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

剩下的问题是 chrome 缓存了不正确的设置。

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

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

小智 813

Anon 关于 STS 是正确的,但有一种方法可以专门从集合中删除您的域。

  1. chrome://net-internals/#hsts。在删除域安全策略下输入example.com,然后按删除按钮。

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

  • 这仅在我清除浏览器缓存后才对我有用。在 Chrome 中:**设置 > 显示高级设置... > 隐私 > 清除浏览数据...** [来源](https://anhsblog.com/blog/make-chrome-stop-redirect-from-http-to- https/#.WXGeJojyuUl) (21认同)
  • 从 63.0.3239.132 开始,这什么都不做。该规则似乎被忽略,甚至链接到 localhost 的自定义域现在也被重定向到 https。必须对所有内容使用自签名证书的烦人因素...... (12认同)
  • 替代解决方案 - Chrome 有一个可以使用不安全内容 (http) 的网站白名单。转到“chrome://settings/content/insecureContent”,您可以将网站添加到名为“允许显示不安全内容”的列表中。 (4认同)
  • 这也对我有帮助!在内部开发时也遇到同样的重定向问题! (3认同)
  • 老兄,这个问题困扰了我好久了,终于搞定了,谢谢!一个潜在的注意事项:如果您遇到问题的域是子域,如果“包含 STS 的子域设置为 true”,您可能需要从 HSTS 集中删除主域。如果您在父域上运行查询,您应该查看是否为相关域设置了该查询。 (3认同)
  • 现在可以在页面左侧的 **Domain Security Policy** 菜单项下找到 (2认同)
  • 您可以通过在开发者工具中保持网络选项卡打开并选中**禁用缓存**来避免清除所有浏览器缓存(!)。仅适用于该网站,您无需重新下载数百 MB 的 JavaScript。 (2认同)
  • 所有解决方案都不适合我。 Ubuntu 20 上的 Chrome 85.0.4183.83 (2认同)
  • 添加此注册表值可以修复它: `Windows 注册表编辑器版本 5.00` `[HKEY_CURRENT_USER\SOFTWARE\Policies\Google\Chrome\HSTSPolicyBypassList]` `"1"="localhost"` (2认同)

小智 241

我的问题来自拥有一个.dev域,该域显然最近注册为 gTLD 并提交给 Chrome Canary。我从最近在搜索问题时遇到的一篇帖子中发现了这一点。

如果您遇到与我相同的问题,似乎最好的解决方案是将您的域更改为.dev. 这篇文章提出.test了一个潜在的解决方案.localhost(通过这个提议)。

  • 这也是我的问题。在我的本地开发机器上,我使用 .dev 近 10 年了。我最近做了一次谷歌浏览器更新,它开始将我所有的网站重定向到 https,我无法理解。从未想过它与 .dev 有关,然后我遇到了这个答案并将其更改为 .development 并且一切正常......现在:-)。再次感谢! (48认同)
  • 完美的!我不明白为什么 Chrome 会做这样的事情,这很烦人,因为我本地有近 30 个 .dev 域。希望这是一个非常非常好的理由。 (22认同)
  • FML……因为这个,我几乎放弃了我 10 多年的网络开发生涯。#星巴克咖啡师 (22认同)
  • 这是因为 Google 购买了 `.dev`,并且可能会开始使用它来制作公共网站。 (9认同)
  • 我安装了 wordpress,改变它的域可能真的很头疼。主目录名称等相同。还有其他办法吗? (4认同)
  • 谷歌有效地扼杀了它对本地机器开发的使用,这绝对是荒谬的。如果 google.dev 被定向到别处,用户或技术人员就会知道为什么要这样设置。**Google 至少应该在页面上放一条注释 **_如果您使用的是 .dev,请执行此操作..._** (3认同)
  • 如果您正在使用单独的 IP 运行本地虚拟机,请不要使用“.localhost”,而是使用“.test”之类的内容。在 macOS 上 [`.localhost` 将跳过主机文件并直接路由到本地环回](https://serverfault.com/a/882032/223294) 并且无法访问。 (2认同)

use*_*323 29

删除域下的“HSTS”菜单铬://网内部是治标不治本。通过 HTTPS 访问此域后,它将再次包含在 HSTS 列表中。

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

server {
#...
        ssl on;
#...
        add_header Strict-Transport-Security "max-age=0;";
#...
}
Run Code Online (Sandbox Code Playgroud)

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

  • 删除HSTS记录是一个临时解决方案。访问 https 后,您将在 chrome 中一次又一次地获取此记录,直到服务器发送“max-age=0”。 (2认同)

Ano*_*non 22

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

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


小智 13

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

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

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

选择:

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

选择清除浏览数据

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


小智 10

来自https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/

没有一个选项修复对我有用https://localhost:3000,修复,这确实有效。

单击并按住重新加载按钮并选择“清空缓存和硬重新加载”,这似乎只是localhost.

“清空缓存和硬重新加载”选项的屏幕截图。

  • 为了在 Chrome `Version 77.0.3865.90 (Official Build) (64-bit)` (MacOS) 上进行这项工作,我必须这样做 **[1]** (打开有问题的页面后)右键单击任意位置并单击 ` Inspect` **[2]** 在检查框出现后,点击并按住`reload`按钮 **[3]** 在出现的下拉列表中,点击`Empty Cache and Hard reload` (4认同)

khe*_*lll 7

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

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
Run Code Online (Sandbox Code Playgroud)

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


小智 5

一个比清除所有 cookie 更温和的替代方法是设置>显示高级设置>内容设置>所有 cookie 和站点数据,然后搜索有问题的站点并仅清除这些站点的 cookie。