307内部重定向,非授权原因:DNS。

10

我搜遍了所有地方,都没有找到关于这个特定重定向的任何信息。

我的应用程序需要使用“HTTP”才能正常运行,最近 Chrome 开始自动将我的应用程序重定向到 HTTPS,如果我在应用程序中将 HTTPS 更改为 HTTP,它会导致无限循环。

我的应用程序未列在 HSTS 预加载域名列表中,我的应用程序和服务器没有重定向代码到 HTTPS。

请求 URL: http://4444.com/z.txt
请求方式:GET
状态码:307 内部重定向(来自磁盘缓存)
引荐政策:跨站源时严格保密
跨源资源策略:跨源
位置:https://4444.com/z.txt
非权威原因:DNS

除了 Chrome 以外,其他浏览器都没有发生这种情况。

这是否意味着 Chrome 正针对我的主机 DNS,以确保托管在该 DNS 上的所有网站都是 HTTPS?

如果是,我认为这是 Google 的一个非常不好的举动,因为我找不到 Google 将开始强制使用 HTTPS 的任何公告。这可能会在没有事先警告的情况下破坏许多非 HTTPS 网站。

如果不是,我该怎么解决这个问题?

谢谢

4个回答

4
我也遇到过和你一样的问题,但并不是每次都会出现。有时候当我在隐身模式下打开另一个窗口时,这个重定向就消失了!太烦人了:(
我刚尝试了另外一种方法,它对我来说似乎很有效!
去这里:chrome://net-internals/#dns,然后点击Clear host cache,再刷新页面,重定向就会消失!

1
我曾为另一个仅支持HTTP的网站做过这件事,但重定向并没有消失。此外,即使缓存已被清除和禁用,它仍然会写入“来自磁盘缓存”。非常令人恼火。我将切换到Edge浏览器。 - Kaplan Ilya
尝试使用 chrome://net-internals/#hsts,你的网站可能被 Chrome 的 HSTS 域名列表缓存了,你可以搜索/查询你的域名并从缓存列表中删除它。 (来源:https://stackoverflow.com/a/34213531/61697) - undefined

1

你使用 VPN 访问网站了吗?VPN 服务器似乎能够强制将 http 转换为 https。


1
即使“始终使用安全连接”(chrome://settings/security)已禁用,Chrome仍会尝试使用HTTPS,如果在DNS中找到HTTPS记录,则根据#dns-https-svcb标志 - “支持DNS中的HTTPS记录”(chrome://flags/#dns-https-svcb) - 默认情况下启用。
这会导致循环,导致非权威原因:DNS的ERR_TOO_MANY_REDIRECTS。
要么从主机区域文件中删除任何HTTPS记录,要么禁用Chrome中提到的标志。

谢谢你,这让我疯狂了。你能否请澄清一下你所说的“从主机区文件中删除任何HTTPS记录”是什么意思?这些记录是否存储在本地某个地方? - Alexandrin Rus
@AlexandrinRus 区域由权威的name servers提供服务,在本地,您只有一个查找缓存。 虽然您可以自己运行名称服务器(或任何基于dns的广告拦截软件)来覆盖响应,但对于终端用户,我建议简单地禁用该标志。 - D.A.
好的,我有点希望这是一种在设备级别上发生的行为,并且可以通过其他方式进行预防。由于权威名称服务器不在我们的控制范围内,我想在这些服务器上清除HTTPS记录没有简单的方法。我的担忧是Chrome会根据DNS查找强制将从未访问过我们域名的新用户重定向到安全端点。我们有一些URL需要在http://上提供服务,如果被强制使用https://将无法正常工作。如果我通过代码强制使用http,它最终会进入重定向循环。感谢您的澄清。 - Alexandrin Rus
1
@AlexandrinRus 再进一步澄清一下,如果标志位保持启用状态,那么任何Chrome用户都将体验到这种行为,无论他们是否有缓存查找。一旦缓存过期(根据TTL),Chrome将执行新的查找,如果HTTPS记录仍然存在,它将尝试重定向客户端。 - D.A.
明白了,谢谢。我想唯一的解决方案就是在这些域名上根本不支持https,这样就不会有任何记录被缓存,但这并不理想。我至少认为Chrome应该在这些类型的更改上有更多的透明度,并且至少允许某种形式的排除配置成为可能。 - Alexandrin Rus

0
我在三台Chrome设备上遇到了这个问题,其中一台设备通过关闭VPN解决了,而其他情况下即使关闭了“始终使用安全连接”,仍然会发生重定向。在chrome://settings/security中关闭“使用安全DNS”可以解决这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接