Chrome将.dev重定向到https

37

最近 Google Chrome 跳转我的虚拟主机域名 myapplication.dev 到 https://myapplication.dev。我已经尝试去到

chrome://net-internals/#hsts

并在底部的文本框中输入 myapplication.dev,点击 "删除域安全策略",但这没有任何效果。

我还尝试删除浏览器数据。

我还将虚拟主机更改为 .app 而不是 .dev,但 Chrome 仍然将我重定向到 https:// ...

这是在 Laragon 上运行的 Laravel 应用程序。 在同一网络中的其他 PC 上,它完美地运行。


对于使用 Valet 的 Mac 用户,您可以执行 valet secure projectname 来开始使用安全连接,从而使其能够与 Chrome 一起工作。 - BizzyBob
问题在这里解释: https://stackoverflow.com/questions/49508357/why-laravel-redirects-to-https-even-in-local-environment/49508409#49508409 - Tai Ho
这也是一台名为dev的机器的问题,http://dev/demo - Jason Honingford
7个回答

53

Chrome(≥63)无法阻止使用 .dev 域名上的 https。谷歌现在拥有官方的 .dev tld 并已经声明他们不会删除此功能。

建议开发目的使用另一个 tld,例如 .localhost.test

有关此更新的更多信息,请参见 Mattias Geniar的这篇文章


2
如果您能提供一个链接来深入了解它,那就太好了。 - Gerson E. Aguirre
1
谷歌拥有所谓的互联网上的这个顶级域名,现在他们表现得好像对所有网络都有优势,并且干扰那些没有合法性的www DNS约定的网络。 - challet
3
你好,我的老友火狐浏览器。 - mraaroncruz
1
但是!如果您使用的是实际上不在本地主机IP地址上的本地服务器(例如,我设置了一个Vagrant机器作为something.localhost使用hostsupdater插件),请不要使用.localhost,因为Chrome也会将其重定向到回送地址,而不考虑您的DNS设置 - Matt Gibson
4
现在Firefox也针对.dev域名执行此操作,所以我猜要和那个老朋友说再见了 :-) - Barry Pollard
显示剩余3条评论

8
对于Firefox: 您可以通过访问地址:about:config来禁用属性network.stricttransportsecurity.preloadlist
对于IE,似乎仍然有效。
对于Chrome,目前没有解决方案,我认为这是硬编码在源代码中的。
请参阅该文章:如何防止Firefox和Chrome强制使用https的dev和foo域名

7

这个问题无法解决。原因如下:

  1. Google拥有.dev通用顶级域名
  2. Chrome直接在源代码中强制将.dev域名的HTTP转为HTTPS。

以下是第二个链接提供的信息:

...
// eTLDs
// At the moment, this only includes Google-owned gTLDs,
// but other gTLDs and eTLDs are welcome to preload if they are interested.
{ "name": "google", "include_subdomains": true, "mode": "force-https", "pins": "google" },
{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },
{ "name": "page", "include_subdomains": true, "mode": "force-https" },
{ "name": "app", "include_subdomains": true, "mode": "force-https" },
{ "name": "chrome", "include_subdomains": true, "mode": "force-https" },
...

参考资料


5

5

4

MacOS Sierra,Apache:在Chrome 63通过预装的HSTS将.dev顶级域名强制转换为HTTPS后,我的Mac上的phpmyadmin停止工作。我阅读了这篇文章并编辑了/etc/apache2/extra/http-vhosts.conf文件:

<VirtualHost *:80>
  DocumentRoot "/Users/.../phpMyAdmin-x.y.z"
  ServerName phpmyadmin.localhost
</VirtualHost>

并重新启动Apache(通过sudo /usr/sbin/apachectl stop; sudo /usr/sbin/apachectl start ) - 现在可以在http://phpmyadmin.localhost上运行:)。对于Laravel应用程序的解决方案类似。

好处是,当您设置新项目时使用*. localhost 顶级域时,您可以忘记编辑/etc/hosts

这很酷,不是吗? :)

还有一个卓越的建议将.localhost域添加为 新标准,这更加合适。

更新2018年

使用*. localhost 不好 - 一些应用程序不支持它,如cURL(由php-guzzle使用) - 更多详细信息在此处。更好的方法是使用*.local


4

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