【问题标题】:IIS Rewrite (http to https) with subdomain带有子域的 IIS 重写(http 到 https)
【发布时间】:2011-05-05 17:24:29
【问题描述】:

我找到并尝试了找到 here 的 Jeff 规则,但我无法让它完全正确地工作:

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

在 Jeff 有 (.*)billing/(.*) 的地方,我用 (.*) 替换了,但这不起作用。

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

这种重写的东西对我来说是新的。

感谢您的所有帮助。

【问题讨论】:

    标签: http iis https rewrite


    【解决方案1】:

    您应该确保您的应用程序(发送到http://a.b.com/ 的应用程序直接发送到https://a.b.com/)而不是使用重定向,否则,相同的请求将在被重定向到 HTTPS 之前通过纯 HTTP,这会导致问题。

    (此this other question 了解更多详情。)

    【讨论】:

    • 我们的代码内重定向指向 https,但我正在尝试解决用户直接输入 URL 并且不知道输入 https 的问题。所以在登陆时,他们输入a.b.com,然后他们被发送到https......类似于gmail,例如。感谢您的意见。
    • @Marc,我实际上会强制它中断,确切地说,以找出何时出现编码错误(尽管它不会阻止事件发生)。如果有人错误地输入了http://a.b.com/page/1?sometoken,他们将被发送到https://a.b.com(您可以更容易地找出错误的位置)。更好的方法是将 http://a.b.com 作为入口点,使用不同的 IP 地址重定向到 https://secure.b.com,并且在端口 80 上没有任何监听,这样 http://secure.b.com 将始终失败(尽管有人仍然可以欺骗请求有效)。
    【解决方案2】:

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

    【讨论】:

    • 这是我使用 IIS7 的重写添加找到的链接。还没试过:iis-aid.com/articles/how_to_guides/redirect_http_to_https_iis_7
    • 是的,它是 ASP.NET。我会给你的例子。我试图摆脱使用代码并尝试新的重写“技巧”。谢谢。
    • @Marc,如果使用 HTTPS 的目的是提供某种安全性,那么您真的应该避免重定向或重写技巧。
    • 如果该解决方案适合您,您可能还想添加以下内容,以便在从 Visual Studio 调试 ASP.net 时不会发生重定向。 (在 Dim url 正下方添加)[If url.Host.ToLower = "localhost" Then Exit Sub]
    • @Bruno,好吧,如果我可以直接问你的话。我们的网站使用 https 来解决安全问题,是的(这不正常吗?)。重写适用于那些不知道在其地址栏中键入 https 的用户。因此,在通过 http 到达我们的站点时,它们会被发送到 https。如果我接近这个错误,请告诉我理想的方法。谢谢!
    猜你喜欢
    • 2015-07-27
    • 2016-03-20
    • 2017-08-09
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 2015-11-16
    相关资源
    最近更新 更多