【问题标题】:IIS Force SSL Redirect won't redirect root trafficIIS 强制 SSL 重定向不会重定向根流量
【发布时间】:2020-12-31 11:59:08
【问题描述】:

我正在使用 IIS 10,并且正在尝试将非 ssl 流量重定向到 ssl。我搜索了很多,没有找到任何其他具体的报告,所以我在这里问。

重定向适用于除根流量之外的所有 url,这非常奇怪。

例如,如果我输入http://sitename.com,它不会重定向到https,但是如果我输入http://sitename.com/index.html,它会重定向到https

我的根页面是 index.html 页面,如果出于任何原因这很重要。

Web.config 代码:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Force SSL" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
          <add input="{HTTP_X_FORWARDED_PROTO}" pattern="https" negate="true" />
          <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
          <add input="{HTTP_HOST}" pattern="(www\.)?sitename\.com" />
        </conditions>
        <action type="Redirect" url="https://sitename.com{REQUEST_URI}" appendQueryString="false" />
      </rule>
      ...
    </rules>
  </rewrite>
</system.webServer>

另外一点,我在 IIS 的顶层添加了它,但它仍然不起作用。

我在网站上的 IIS 中的规则定义中注意到,它添加在输入列 URL path after '\' 下。

【问题讨论】:

  • @LexLi 很好,在尝试安装跟踪时,我必须重新安装 rewrite 才能将其显示为跟踪模块。现在重定向在根目录下工作????????‍♂️。这整件事很奇怪。因为完全相同的设置在我的登台服务器上运行,但不适用于 prod。但现在它正在工作,无论如何。

标签: .net asp.net-mvc-5 web-config iis-10


【解决方案1】:

当我测试你的规则时,“”总是匹配失败。我不确定当你匹配时这个结果是什么。

当我将 patternSyntax="Wildcard" 更改为正则表达式时,它起作用了。所以我建议你使用正则表达式。

我还为您重写了一条新规则,将 http 重定向到 https。 Https 用于判断当前请求是否使用 SSL。 https的值有On和Off,On代表请求使用SSL。更多服务器变量可以参考this document。 即使是根流量,它也始终有效。你可以使用它。

<rule name="Force SSL" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="Off" />
                    <add input="{HTTP_HOST}" pattern="sitename.com" />
    </conditions>
    <action type="Redirect" url="https://sitename.com{REQUEST_URI}" appendQueryString="false" />
  </rule>

这是失败请求跟踪的过程。

【讨论】:

    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 2012-05-03
    • 2011-11-03
    • 1970-01-01
    相关资源
    最近更新 更多