为应用程序网关中的后端池隐藏.Azurewebsites.net

问题描述:

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

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

您可以将默认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> 

我通过使用App服务的IP限制(根据网络)实现这一点,并增加了应用网关的IP,所以任何其他IP地址被*,即会收到403应用网关健康探头仍将因为它的IP已被列入白名单

enter image description here