Google Chrome将本地主机redirect到https
当我使用ChromedebuggingVisual Studio项目时,浏览器尝试redirect到我的Web地址的https等效项。 我在Web项目中没有启用SSL,起始URL是http URL。 当我使用FireFox或IE进行debugging时,我没有这个问题。
我确实重新安装了Chrome修复了一天的问题。 没有下载任何插件,第二天再次发生问题。
什么使Chrome浏览器redirect本地主机到https?
用户代理:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 36.0.1985.143 Safari / 537.36
这些标签中没有预览和响应数据。
我相信这是由HSTS引起的 – 请参阅http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
如果您有(开发)任何其他本地主机网站发送HSTS标头…
例如。 严格的运输安全:最大年龄= 31536000; includeSubDomains; 预紧
…然后根据max-age的值,未来对localhost的请求将需要通过HTTPS提供。
为了解决这个问题,我做了以下。
- 在Chrome地址栏中input“chrome:// net-internals /#hsts”
- 在页面的最底部是QUERY域文本框 – validation本地主机是浏览器已知的。 如果它说“找不到”,那么这不是你正在寻找的答案。
- 如果是,则使用上面的文本框删除localhost域
- 您的网站现在应该使用普通的旧HTTP
这不是一个永久的解决scheme,但至less可以让它在项目之间工作。 如果有人知道如何从HSTS列表永久排除本地主机请让我知道:)
我在Chrome中遇到同样的问题,我尝试使用BigJump的解决scheme失败。
我通过强制刷新解决了我的问题,如本博客所示(最初来自此超级用户的答案 )。
确保您的地址栏使用httpscheme,然后执行以下步骤,可能需要几次:
- 打开“开发工具”面板(CTRL + SHIFT + I)
- 点击并按住重新加载图标/右键单击重新加载图标。
- 菜单将打开。
- 从这个菜单中select第三个选项(“清空caching和硬重新载入”)
捎带阿迪亚特穆巴拉克
无法刷新,因为它只是刷新https。 遵循一些相同的步骤。
1. Open chrome developer tools (ctrl + shift + i) 2. Network Tab at the top 3. Click Disable cache checkbox at the top (right under network tab for me). 4. Refresh page (while the developer tools is still open)
我面临着同样的问题,但只有在铬金丝雀和search我find了这个职位的解决scheme。
Chrome的下一个版本中的一个将强制以.dev(和.foo)结尾的所有域通过预加载的HTTP Strict Transport Security(HSTS)标头被redirect到HTTP。
{ "name": "dev", "include_subdomains": true, "mode": "force-https" }, { "name": "foo", "include_subdomains": true, "mode": "force-https" },
所以,改变你的域名。
我从来没有想出问题的根源,但我能够解决这个问题。 我删除了解决问题的Google Chrome应用程序caching文件夹。
C:\用户[用户] \应用程序数据\本地\谷歌\ Chrome浏览器
我也一直在努力解决这个问题。 似乎HSTS仅适用于域名。 所以如果你在本地机器上开发,使用IP地址要容易得多。 所以我从本地主机切换到127.0.0.1
对于有同样问题的人,我通过按CTRL + SHIFT + DELETE来删除整个浏览器caching。 不是我可以通过HTTP协议访问我的本地主机网站。
如果你想免费的话,你可以为这些域名安装一个合适的SSL证书,所以你不需要搞乱HSTS。 看看这里 。
您可以编辑您的系统的主机文件:
- 在Windows上:
C:\Windows\System32\drivers\etc\hosts
- 在Linux上:
/ets/hosts
在那里你可以为每个项目定义一个不同的域:
127.0.0.1 project1.local 127.0.0.1 project2.local 127.0.0.1 projectN.local
一旦保存,当您在任何浏览器中导航到这些域时,它将从127.0.0.1(本地主机)加载。 如果您使用apache / nginx作为服务器,您可以select为每个域定义VirtualHosts,因此每次切换项目时都不需要更改httpd文件夹。
那么当然,你将不得不重新颁发你可能拥有的那些新域名项目的证书,但是对于每个项目来说,这些证书是唯一的。 在Chrome上,您不需要为不具备证书的项目在每个域中对networking内部进行一次以上的操作(对于具有证书的项目,则为0次)。
@Adiyat穆巴拉克回答没有为我工作。 当我尝试清除caching并重新加载时,页面仍然redirect到https。
我的解决scheme:在url栏的右上angular(在collections夹星形图标的左边),有一个带有“x”的图标。 右键单击它,它会说一些关于“不安全的脚本”,然后有一个选项加载它们。 去做。