我们在尝试将用户从http重定向到https时遇到了问题 - 这两项工作和https都在使用ssl并且运行完美。
当我们尝试使用不同的方法重定向用户时,我们不断收到此错误:
的 ERR_TOO_MANY_REDIRECTS
我们尝试过的方法..
对于没有使用控制器的404页,结果相同。
答案 0 :(得分:0)
提供您如何进行重定向。你在网络农场吗? SSL是否已卸载到负载均衡器?
在某些云/托管方案中,后者可能是罪魁祸首 -
e.g。
在应用程序中,您正在检查SSL连接,并且应用程序尝试重定向到https
网址(即HttpRequest.IsSecureConnection
)
但是,如果负载均衡器为您的服务器 s (服务器场)处理SSL,则从负载均衡器到主机 s 的连接可能不会通过https
- 这是你的循环(你的应用程序中的ssl检查将永远是false
)
browser: https
< - > SSL/Load Balancer
< - - > web farm: http
在此方案中与您的提供商核实 - 他们通常将拥有自定义标题,您可以在将请求转发到服务器时进行检查 s 通过https
表示原始请求 。
答案 1 :(得分:0)
感谢您的帮助,我的托管服务提供商用.htaccess解决了这个问题 - 我想我错了用它..再次感谢Stackoverflow!
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.(.*)$ [NC]
RewriteCond %{HTTP:HTTPS} !on
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteCond %{HTTP:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]