在IIS7.5中,我有一个URL重写规则,可将http请求重定向到https。如果我检查“需要SSL”,我会获得403 Unauthorized而不是重定向,这是有道理的。
有没有办法一起使用它们?会有利益吗?我假设没有,因为每个http请求都会被重定向,但是我在这里检查以防我错了。
这安全吗?
答案 0 :(得分:4)
这两个选项的工作方式截然不同。
如果您使用“需要SSL”选项,则必须通过HTTPS访问您网站的每个页面,这意味着(如您所见),如果您忘记了HTTPS并尝试使用HTTP进行访问,那么您将拥有403未经授权。
如果您使用URL重写模块,您可以将某些页面或整个网站设置为重定向到HTTPS(如果需要,可以将某些部分重新定向到HTTP),如果用户忘记了HTTPS并点击HTTP,他/她将被重定向到HTTPS网址。
至于让他们一起工作,有一个解决方案,但我不明白这一点:
[...]您需要为网络禁用“需要SSL”复选框 现场。如果您不想这样做,那么您可以创建两个网站 在IIS中 - 一个使用http绑定,另一个使用https绑定 - 和 然后将此规则添加到具有http的站点的web.config文件中 结合。
http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx
(第4. Redirect to HTTPS
条)