如何阻止Chrome重定向到HTTPS?

时间:2017-12-10 04:30:31

标签: apache google-chrome ssl https wamp

几天前,Chrome开始将我在Wampserver中的所有vHost重定向到https。一切都工作正常,直到几天前,然后有一天我登录在我的网站上工作,Chrome说无法访问该网站,即使我过去使用过相同的URL。 Wamp正在运行以及Apache和MySQL,并且这些服务都没有在错误日志中出现任何错误。

我已经尝试使用chrome://net-internals/#hsts删除域名(我对我的本地网站使用假的.dev扩展名)但是没有做任何事情。我还尝试安装SSL以查看Chrome是否会将其检测为安全连接......没有。我甚至尝试完全重新安装Wamp(即使vHosts在其他浏览器中工作正常)并且没有任何改变。

Chrome中唯一有效的方法是通过http://localhost/site访问这些网站。我的所有Apache vHost都会重定向到HTTPS。我用Google搜索并用谷歌搜索,找不到任何可以解决问题的方法。

5 个答案:

答案 0 :(得分:30)

Chrome v63会将.dev域强制为HTTPS。互联网工程任务组RFC2606指定了应该用于本地开发的顶级域名,而.dev不在该列表中。

Google拥有.dev顶级域名,并通过预加载的HSTS自动将所有.dev域名重定向到网站的HTTPs版本。

如果.dev是官方通用顶级域名(gTLD),我们可以更好地将本地开发后缀从.dev更改为其他内容,即使有其他解决方案(例如https带有自签名证书) )。因此,您应该使用 .test .example .invalid .localhost 作为本地开发TLD。

答案 1 :(得分:4)

我无法改善@benedikt的答案,因为它是正确的。有很好的临时修复:

  • typing "badidea" on the warning page,如果您在本地设置SSL(一起黑客攻击),则可能无效。它会绕过警告,但我的本地SSL未正确设置并显示另一个本地站点。
  • narayon还建议链接到Chrome论坛,我还没有尝试过。

我的解决方法是将所有“.dev”开发顶级域名更新为“.d3v” 仍然足够短,可以快速输入,描述性,可能面向未来。

答案 2 :(得分:1)

我找到了一个快速的解决方案,可以满足我的需求并可以帮助其他人。

我在开发时使用Browser Sync,我只是将代理参数设置为" testsite.dev"它将在Chrome中正确显示。

这是我正在使用的命令:

browser-sync start --proxy "testsite.dev" --port "3000" --files "./**/*.*"

答案 3 :(得分:0)

我也使用.dev扩展名,并且将来会更改为其他某些域但是对于我现有的.dev网站,当隐私错误显示时,点击屏幕上的任意位置并输入'badidea',chrome会重定向你到网站。有用!

答案 4 :(得分:0)

解决方案1-选择一个保留的且可用于将来的gLTD,例如.localhost或.test

编辑您的主机文件(对于Windows,为C:\ Windows \ System32 \ Drivers \ etc \ hosts)

127.0.0.1       testsite.localhost

解决方案2-为.dev安装自签名证书

  1. 创建证书。以管理员身份打开Powershell并运行:
  

P.S。确保先安装mkcert

C:\Users\John> mkcert *.testsite.dev

这将创建一个通配符证书,该证书适用于所有.testsite.dev网站

  1. 将这些密钥从C:\ Users \ John复制到C:\ xampp \ apache \ crt \ testsite_dev(如果不存在,请创建crt文件夹)

  2. 在C:\ Windows \ System32 \ Drivers \ etc \ hosts文件中添加条目

    127.0.0.1       testsite.dev
    127.0.0.1       www.testsite.dev
  1. 打开您的C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf并添加一个条目
    <VirtualHost *:443>
       DocumentRoot "C:/xampp/htdocs"
       ServerName testsite.dev
       ServerAlias www.testsite.dev

       Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"

       SSLEngine on
       SSLCertificateFile "crt/testsite_dev/_wildcard.testsite.dev.pem"
       SSLCertificateKeyFile "crt/testsite_dev/_wildcard.testsite.dev-key.pem"
    </VirtualHost>
  1. 重新启动Apache

  2. (附加)步骤-使您的操作系统和浏览器信任自签名证书,否则它将不起作用