4

我正在尝试执行将流量从 http 重定向/重写到 https 的“简单”任务,我在 CloudService 中有一个端点,该端点已正确配置为 SSL。

我尝试了许多 IIS 重写规则,如下面的规则,但没有一个有效。我还尝试通过 IIS 8 服务器上的远程桌面直接设置规则,这也不起作用。

当我在 Azure web.config 文件中输入任何标签时,重写标签下方有一条蓝线,并显示一条消息,说明它在以下位置无效<system.webServer>

<system.webServer>
...
      <rewrite>
          <rules>
              <rule name="RedirectToHTTPS" stopProcessing="true">
                  <match url="(.*)" />
                  <conditions>
                      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                  </conditions>
                  <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" />
              </rule>
          </rules>
      </rewrite>

  </system.webServer>

非常感谢任何建议。

4

1 回答 1

10

为了使这些规则起作用,您必须同时配置端点- HTTPHTTPS!

如果您没有在端口 80 上配置纯 HTTP 端点,您的服务器将永远不会受到 Internet 流量的影响,因此永远不会触发重写规则。因此,当您尝试通过纯 HTTP 打开域时,您会遇到超时。当您没有为它定义端点时,根本没有进程在端口 80 上侦听。

于 2013-09-18T10:40:00.377 回答