【问题标题】:HTTP to HTTPS Redirect in IISIIS 中的 HTTP 到 HTTPS 重定向
【发布时间】:2019-09-03 02:29:36
【问题描述】:

每当任何用户使用 http 打开我的网站时,我都必须将我的网站从 http 重定向到 https。

例如:-

http:\\abc.mywebsite.com 应该转到 https:\\abc.mywebsite.com

请注意,在上面的 URL 中,它不是 www.mywebsite.com,而是自定义 URL,如 abc.mywebsite.com。

我已经尝试过URL Rewrite 工具并按照here 提到的所有步骤进行操作。但是,我无法让 URL 重写正常工作以进行重定向。

这是 IIS 中的 URL 重定向规则:-

这是使用 URL 重写添加规则后我的 web.config 的样子。

<configuration>
  .....
  .....
  .....
  <system.webServer>
    .....
    .....
    .....
    <rewrite>
      <rules>
        <rule name="Http to Https" enabled="true" stopProcessing="true">
          <match url="(.*)" />
           <conditions logicalGrouping="MatchAny">
            <add input="{HTTPS}" pattern="^OFF$" />
           </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
  .....
  .....
  .....
</configuration>

我还取消选中 SSL 设置下的需要 SSL 复选框。

但是,在完成所有这些操作之后,我的网站仍然没有重定向到 https。只是给出错误“...无法访问此页面”。

如果我在这里遗漏了什么,请提出建议。

【问题讨论】:

    标签: asp.net ssl https url-rewriting acumatica


    【解决方案1】:

    确保您已在 IIS 中正确设置绑定,以红色突出显示的第二行应该在那里。

    1. 类型 = HTTPS
    2. 主机名 = 站点地址,例如“site.domain.com”
    3. 端口 = 443
    4. IP 地址 = 您尝试访问的服务器的 IP 地址。

    【讨论】:

      【解决方案2】:

      在尝试从 http 重定向到 https 时,我在同一个站点中遇到了同样的问题。 我确实创建了新站点并将绑定添加为http://www.example.com/ 然后我创建了新的 Http Redirect 并添加了我的 https://www.example.com/ 它有效。

      【讨论】:

        【解决方案3】:

        我对重写规则有些怀疑,因为我看到很多不同的例子。

        尝试像 Microsoft Blog 这样的不同值可能会产生更好的结果:

        <rewrite>
            <rules>
                <rule name="Redirect to http" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="*" negate="false" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
                </rule>
            </rules>
        </rewrite>
        

        您也可以设置Tracing for Failed Requests in IIS 7。这可以让您深入了解它无法重定向的原因。

        【讨论】:

        • 感谢 HB_Acumatica,我一定会尝试追踪。关于 Microsoft 博客,我已经尝试过这一点以及许多其他相同的选项/建议,但没有任何效果。
        • Microsoft 博客链接有一个关于 HTTP->HTTPS 的完整分步教程,我个人会尝试尽可能密切地关注它,然后使用跟踪日志进行调试。那里的信息可能比其他地方更可靠,因为它来自 MS 员工。
        猜你喜欢
        • 2013-05-02
        • 1970-01-01
        • 2011-09-16
        • 1970-01-01
        • 2019-08-17
        • 2013-03-23
        • 2018-01-18
        • 2021-06-26
        • 2018-12-06
        相关资源
        最近更新 更多