Azure Web应用程序URL重写HTTP_HOST和R:1返回蔚蓝的域,而不是URL域

时间:2018-08-07 14:36:41

标签: c# azure url-rewriting azure-web-sites url-rewrite-module

我有一个在Azure Web应用程序中运行的C#网站。

过去,我在许多其他站点上使用过许多URL重写规则。在这种情况下,它们似乎无法正常工作。

以下规则:

    <rule name="AddTrailingSlashRule1" stopProcessing="true">
      <match url="(.*[^/])$"/>
      <conditions>
        <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$"/>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
      </conditions>
      <action type="Redirect" url="{R:1}/"/>
    </rule> 

在其他站点中,会将斜杠添加到当前站点URL上的所有非文件或目录中

如果您访问网址为https://www.example.com/foo的站点,则会将您重定向到https://www.example.com/foo/但是在这台特定的服务器上,我们将被重定向到https://example.azurewebsites.net/foo/ < / p>

另一个表现出类似行为的规则是我们的force-https重写规则。

    <rule name="Force HTTPS" stopProcessing="false">
      <match url=".*"/>
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="off"/>
      </conditions>
      <action appendQueryString="false" type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"/>
    </rule>

如果访问不是通过网址http://www.example.com进行的,我们将被重定向到https://example.azurewebsites.net/

据我所知,Azure SHOULD 将在example.com{HTTP_HOST}值中返回{R:1},但不是。

是什么原因导致这种奇怪的行为?

0 个答案:

没有答案