1

试图阻止谷歌搜索结果中显示的“azurewebsites”url,通常我只需在 web 配置中添加一个重定向规则,如下所示:

<rule name="Disable Azure Domain" patternSyntax="Wildcard" stopProcessing="true">
          <match url="*" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{HTTP_HOST}" pattern="*.azurewebsites.net" />
          </conditions>
          <action type="Redirect" url="https://www.mysitedomain.org{REQUEST_URI}" redirectType="Permanent" />
        </rule>

但是,当在 Azure Front Door 后面的这个特定站点上使用此重定向时,它会导致该站点返回 404。我假设前门必须使用 azurewebsites url,因此这不是一个可行的解决方案。

欢迎任何建议。

4

2 回答 2

1

找到一个相对简单的解决方案是简单地在“服务标签”类型的应用服务上添加 IP 限制,然后选择 AzureFrontDoor.Backend

于 2020-11-24T12:32:21.413 回答
0

我假设前门必须使用 azurewebsites url,所以这不是一个可行的解决方案。

这不是真的。在 Front Door 中创建后端时,您可以选择“自定义主机”并指定您为应用服务配置的自定义域。 在此处输入图像描述.

所以解决方案将如下所示:

  1. 为您的应用服务使用自定义域。因此,您的网站将类似于 siteA.mysitedomain、siteB.mysitedomain 等。
  2. 将后端作为自定义域添加到 Front Door。
  3. 最后在 web.config 中使用重定向规则,如下所示。重定向到 Front Door URL(您也可以在那里使用自定义域)。这将确保即使有人使用 .azurewebsites.net URL 指向您的站点,他们也会被重定向到 Front Door 入口点。最终,搜索引擎不会使用 azurewebsites.net 进行索引。
<configuration>
  <system.webServer>  
    <rewrite>  
        <rules>  
          <rule name="Redirect rquests to default azure websites domain" stopProcessing="true">
            <match url="(.*)" />  
            <conditions logicalGrouping="MatchAny">
              <add input="{HTTP_HOST}" pattern="^yoursite\.azurewebsites\.net$" />
            </conditions>
            <action type="Redirect" url="http://www.yoursite.com/{R:0}" />  
          </rule>  
        </rules>  
    </rewrite>  
  </system.webServer>  
</configuration>  

web.config 规则的来源

于 2020-10-30T16:27:31.100 回答