2015-11-04 63 views
0

某些版本的Chrome会自动将https添加到我的网站地址中。所以我需要将https重定向到http,因为我没有SSL证书。我想这一点,没有结果:无法将http重定向到http

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{HTTP:X-Forwarded-Proto} =https 
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
</IfModule> 
+0

您是否在负载均衡器后面?我也不认为Chrome正在这样做。这将是数百万网站的混乱是这种情况。 –

+1

另外这可能有助于http://superuser.com/questions/565409/chrome-how-to-stop-redirect-from-http-to-https –

回答

0

这个问题的可能的重复:Nginx redirect to non-https address failes in Firefox。虽然他们从来没有仔细研究过这个人究竟发生了什么,所以希望我会有更多的运气。

所以首先你不能重定向https到http,直到https连接成功 - 这需要一个证书。要做到这一点将是一个巨大的安全风险,并不是https的工作方式。它首先使https连接,然后通过https发送内容。重定向被视为内容。

其次,您需要了解Chrome重定向到https的原因。因为,取决于为什么会发生这种情况,即使您有证书可以重定向回http,也可以输入递归循环。我建议打开Chrome,按F12打开开发人员工具,进入网络选项卡,点击保存日志,清除网络选项卡并点击“保留日志”,然后通过http加载页面并观察重定向。如果它是301或302重定向,那么它是你的服务器执行它。如果它是307重定向,那么它是由于HSTS。它是其他任何东西,然后是前端应用程序问题(即页面上的Javascript)。