在Application Gateway

时间:2017-09-25 00:45:17

标签: url-rewriting azure-web-sites url-redirection azure-application-gateway

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

任何人都有针对上述情况的解决方案吗?

2 个答案:

答案 0 :(得分:2)

您可以将默认Azure域重定向到实际域,使用URL重写排除运行状况探测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>

答案 1 :(得分:1)

我通过使用App Service的IP限制(在网络下)实现了这一点,并添加了应用网关的IP,因此任何其他IP地址都被阻止,即将接收403.应用网关健康探测仍将通过,因为它是IP已被列入白名单

enter image description here