这是Google Chrome redirecting localhost to https的后续问题。
有谁知道,如何从Google Chrome中的HSTS列表中永久排除localhost
?
或者,任何其他优雅的解决方案,每次从在HTTPS项目上工作转换到HTTP上的其他项目时都不需要开发人员访问chrome://net-internals/#hsts
并删除localhost
?
答案 0 :(得分:29)
您可以按照解决方案here进行操作。
当Google Chrome将您的localhost Url从http://localhost
重定向到https://localhost
时,请执行以下操作:
答案 1 :(得分:12)
<强>更新强>
如果您想免费为这些域安装适当的SSL证书,那么您将不需要使用HSTS。看看here。
您可以编辑系统的主机文件:
C:\Windows\System32\drivers\etc\hosts
/ets/hosts
在那里,您可以为每个项目定义不同的域:
127.0.0.1 project1.local
127.0.0.1 project2.local
127.0.0.1 projectN.local
注意:我使用* .local域名(你几乎可以使用任何东西)因为你已经将localhost设置为重定向到https,所以我们必须使用不同的域名。虽然我强烈建议您安装一个真正的SSL证书并重置为默认您对HSTS所做的任何修改。
保存后,当您在任何浏览器中导航到这些域时,它将从127.0.0.1
(localhost)加载。如果您使用apache / nginx作为服务器,您可以选择为每个域定义VirtualHosts,这样您每次切换项目时都不需要更改httpd文件夹。
当然,您必须重新颁发任何可能用于新域的项目的证书,但这些证书对于每个项目都是唯一的。在Chrome上,对于您没有证书的项目(对于拥有证书的项目为0次),您不需要为每个域多次弄乱网络内容。
答案 2 :(得分:1)
我找到了一个“修复程序”。有趣的事情,但不能永久解决,因为它可能导致多个安全问题。
这就是我所做的:
chrome://flags/#allow-insecure-localhost
Allow invalid certificates for resources loaded from localhost.
如果重新加载应用程序,则警告将消失。
PS之所以这样做,是因为我需要重新创建认证,但没有时间。这就是我这样做的原因。当我的证书可以在本地运行时,我将关闭此功能。
答案 3 :(得分:0)
Chrome 78支持称为HSTSPolicyBypassList的策略。您可以将“ localhost”列出为绕过HSTS的域。 要在Linux上配置Chrome策略,只需在/etc/opt/chrome/policies/managed/policies.json中创建一个文件,内容如下:
{
"HSTSPolicyBypassList": [
"localhost"
]
}
您可以在地址栏中输入chrome:// policy /来查看Chrome加载的策略。