33

突然,谷歌浏览器将我的虚拟主机域 myapplication.dev 重定向到https://myapplication.dev。我已经尝试去

铬://网络内部/#hsts

并将 myapplication.dev 输入到“删除域安全策略”最底部的文本框中,但这没有效果。

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

我还做的是将 v-host 更改为 .app 而不是 .dev 但 Chrome 仍然将我重定向到 https:// ...

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

4

7 回答 7

46

没有办法防止 Chrome (>= 63) 在.dev域名上使用 https。
谷歌现在拥有官方.dev顶级域名,并且已经声明他们不会删除此功能。

建议将另一个顶级域名用于开发目的,例如.localhost.test

可以在Mattias Geniar 的这篇文章中找到有关此更新的更多信息。

于 2017-12-12T08:46:11.567 回答
5

对于 Firefox:您可以通过访问地址来禁用属性network.stricttransportsecurity.preloadlist : about:config

对于 IE,它似乎仍在工作。

对于 Chrome,没有解决方案,我认为它是在源代码中硬编码的。

请参阅那篇文章: 如何防止 Firefox 和 Chrome 强制 dev 和 foo 域使用 https

于 2018-04-10T18:51:09.190 回答
5

这个问题无法修复。下面是原因:

  1. 谷歌拥有 .dev gTLD
  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" },
...

参考

于 2018-02-28T09:24:05.023 回答
5

Chrome 63 通过预加载的 HSTS 强制 .dev 域使用 HTTPS ,很快所有其他浏览器都会效仿。

.dev gTLD 已被 Google 购买供内部使用,不能再与 http 一起使用,只允许使用 https。有关更多说明,请参阅本文:

https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

于 2017-12-13T14:00:27.090 回答
5

检查那个链接

https://laravel-news.com/chrome-63-now-forces-dev-domains-https

根据 Danny Wahl 的这篇文章,他建议您使用以下之一:“.localhost”、“.invalid”、“.test”或“.example”。

于 2017-12-12T08:46:04.620 回答
4

可能值得注意的是,还有其他 TLD 被迫 https:https: //chromium.googlesource.com/chromium/src.git/+/63.0.3239.118/net/http/transport_security_state_static.json#262

google, dev, foo, page,appchrome现在。

于 2018-01-04T11:56:22.537 回答
4

MacOS Sierra、Apache:在 Chrome 63 强制 .dev 顶级域通过我的 mac 停止工作上预加载的 HSTS phpmyadmin 到 HTTPS 之后。我读了这个,只是编辑/etc/apache2/extra/http-vhosts.conf文件:

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

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

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

多么酷啊?:)

还有一个很好的建议是将 .localhost 域添加为新标准,这在这里更合适。

2018 年更新

使用*.localhost不好 - 一些应用程序不支持它,如 cURL(由 php-guzzle 使用) - 更多细节在这里。更好的是使用*.local.

于 2017-12-18T18:21:56.260 回答