IIS使用子域重写(http到https)

时间:2010-11-05 17:03:07

标签: http iis https rewrite

我找到并尝试了杰夫的规则here,但我无法让它完全正常工作:

我需要的是让http://a.b.com转到https://a.b.com(其中a不是www,但这种区别不应该真正影响规则,是吗?www只是另一个子域,对吗? )

Jeff有(。*)billing /(.*),我用(。*)替换,但那不起作用。

我尝试的结果会产生“重定向循环”错误。

这种改写对我来说是新的。

感谢您的所有帮助。

2 个答案:

答案 0 :(得分:2)

您应该确保您的应用程序(发送到http://a.b.com/直接发送到https://a.b.com/),而不是使用重定向,否则,相同的请求将在重定向到HTTPS之前通过纯HTTP进行,打败了这一点。

(此this other question了解详情。)

答案 1 :(得分:1)

不完全是你要求的答案,但如果你有机会在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