0

我们为基于路径的路由和 SSL 卸载设置了一个 azure 应用程序网关,并且我们有多个指向 azure web 应用程序的后端池。我们希望阻止人们直接使用原始 .azurewebsite.net URL 访问 Web 应用程序。这是一个非常常见的要求,如果在 url 中使用“.azurewebsites.net”或重定向到实际域,则可以通过阻止访问轻松实现。但是当涉及应用程序网关时,这是不可行的,因为运行状况探测将使用 .azurewebsites.net URL,并且域名仅在应用程序网关级别使用。

有人对上述情况有解决方案吗?

4

2 回答 2

2

您可以使用 URL 重写将默认 Azure 域重定向到您的实际域,排除运行状况探测 URL。探测路径不需要包含主机名。例如,/healthprobes。

<rewrite>
  <rules>
    <rule name="RedirectToActualHost" stopProcessing="true">
      <match url="(.)*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^your_default_auzre_domain$" />
        <add input="{REQUEST_URI}" pattern="^your_probes_path$" negate="true" />
      </conditions>
      <action type="Redirect" url="http://your_actual_host/{R:0}" />
    </rule>
  </rules>
</rewrite>
于 2017-09-26T06:48:10.407 回答
1

我通过使用应用程序服务的 IP 限制(网络下)实现了这一点,并添加了应用程序网关的 IP,因此任何其他 IP 地址都被阻止,即将收到 403。应用程序网关运行状况探测仍然会通过,因为它的 IP 是白色的-上市

在此处输入图像描述

于 2017-10-03T00:04:27.080 回答