Azure云服务将http重定向到https无法正常工作(在许多链接上尝试过答案)

sha*_*ham 4 azure azure-web-roles asp.net-mvc-4 iis-8

我正在尝试执行从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>
Run Code Online (Sandbox Code Playgroud)

任何建议都非常感谢.

ast*_*kov 8

为了使这些规则有效,您必须配置两个端点 - HTTP HTTPS!

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