IIS重写(HTTP到HTTPS)与子域
我发现并试图杰夫的规则发现here但我无法得到它的工作完全正确:IIS重写(HTTP到HTTPS)与子域
我需要的是有http://a.b.com去https://a.b.com(其中一个是不是www,但是这种区别不应该真正影响规则,它应该吗?www只是另一个子域,对吗?)
Where Jeff。(。*)billing /(.*),用(。* ),但那不起作用。
我试图产生“重定向循环”错误的结果。
这个重写的东西对我来说是新的。
感谢您的帮助。
不是你正在问的答案,但是如果你有机会在ASP.net页面上使用它,你可以打开你的Global.ASPX文件,并在“Application_BeginRequest”页面中输入:
Dim url As New System.UriBuilder(Context.Request.Url)
'Do our redirect if we need
If Context.Request.IsSecureConnection = False Then
url.Scheme = "https"
url.Port = -1
System.Web.HttpContext.Current.Response.Redirect(url.Uri.ToString())
End If
而不是使用重定向,你应该确保你的应用程序(即发送到http://a.b.com/
发送到https://a.b.com/
直接),否则,同样的请求将投奔纯HTTP重定向到HTTPS,这违背了前点。
(这this other question了解更多信息。)
我们的代码重定向指向https,但我试图解决用户直接在网址中输入内容并且不知道输入https的问题。所以在登陆时,他们进入http://a.b.com,并且他们被发送到https ...类似于gmail,例如。感谢您的意见。 – Marc 2010-11-05 17:16:39
@Marc,我真的会强迫它破坏,正是为了找出编码错误的时间(尽管它不会阻止事件发生)。如果有人输入了“http://a.b.com/page/1”?有些人会错误地将它们发送到'https:// a.b.com'(你可以更容易地找出错误的位置)。更好的方法是将'http:// abcom'作为入口点,使用不同的IP地址重定向到'https:// secure.b.com',并且不在端口80上进行侦听,这样'http: // secure.b.com'总是会失败(尽管有人仍然可以欺骗请求使其有效)。 – Bruno 2010-11-05 17:23:06
这里是一个链接,我发现使用重写除IIS7。还没有尝试过: http://www.iis-aid.com/articles/how_to_guides/redirect_http_to_https_iis_7 – 2010-11-05 17:09:32
是的,它是ASP.NET。我会举一个例子。我试图摆脱使用代码并尝试新的重写“技巧”。谢谢。 – Marc 2010-11-05 17:10:05
@Marc,如果使用HTTPS的目的是为了提供某种安全性,你应该避免重定向或重写技巧。 – Bruno 2010-11-05 17:12:20