在Azure上强制HTTPS并附加URL

MK8*_*MK8 5 url-rewriting azure

我正在尝试使用web.config URL重写规则在Azure网站上强制HTTP到HTTPS.我想要一个包含以下两种情况的规则:

HTTP://site.domain.com/sitefolder到HTTPS://site.domain.com/sitefolder

HTTP://site.domain.com/sitefolder/default.aspx到HTTPS://site.domain.com/sitefolder/default.aspx

如果我遵循本指南,我可以强制HTTP到HTTPS,但URL更改为HTTPS://site.domain.com,而不附加/ sitefolder或/sitefolder/default.aspx.

这就是我现在所拥有的.强制使用HTTPS,但不包括完整的URL:

<rule name="Redirect to HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="Off" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
Run Code Online (Sandbox Code Playgroud)

ast*_*kov 5

这是在Azure WebSites上正确重定向到HTTPS的简单规则:

   <rule name="Redirect to https">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="Off"/>
        <add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
    </rule>
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试它:http://double.azurewebsites.net(在链接中的HTTP上注意)我没有在这里定义任何其他规则.上面的规则正确地重定向到深层链接,即http://double.azurewebsites.net/Home/About