gpt4 book ai didi

azure - 在特定子域上实现 Azure WAF IP 限制

转载 作者:行者123 更新时间:2023-12-03 02:13:26 25 4
gpt4 key购买 nike

我们有一个 Multi-Tenancy 应用程序,每个客户端的实例都托管在一个子域上。例如:

  • client1.mydomain.com
  • client2.mydomain.com

为了支持这一点,我们在 Azure 中有一个带有通配符监听器的应用程序网关:*.mydomain.com,它将流量定向到后端池(虚拟机上的 IIS)。

我需要将对一个客户端站点的访问限制为一系列 IP 地址。我试图通过使用 Web 应用程序防火墙 (WAF) 来实现这一目标。我无法使自定义规则与特定子域的传入请求相匹配。

该规则附加到 WAF 策略,该策略附加到应用程序网关中的通配符监听器。

RequestURI 值似乎不包含主机名。

自定义规则定义:

"matchConditions": [
{
"matchVariables": [
{
"variableName": "RemoteAddr"
}
],
"operator": "IPMatch",
"negationConditon": false,
"matchValues": [
"xxx.xxx.xxx.xxx"
],
"transforms": [
"Lowercase"
]
},
{
"matchVariables": [
{
"variableName": "RequestUri"
}
],
"operator": "Contains",
"negationConditon": false,
"matchValues": [
"client1.mydomain.com" <--- this is not capturing any requests
],
"transforms": [
"Lowercase"
]
}
]

如何使用应用程序网关将 IP 限制应用到 Azure 中的特定子域?

最佳答案

网关传递的RequestUri值仅包含路径,或者在您的情况下仅包含“/”来指示目标后端的根路径。您可以匹配 Host header ,而不是定位子域。

条件定义示例:

{
"matchVariables": [
{
"variableName": "RequestHeaders",
"selector": "Host"
}
],
"operator": "Contains",
"negationConditon": false,
"matchValues": [
"client1.mydomain.com"
],
"transforms": [
"Lowercase"
]
}

关于azure - 在特定子域上实现 Azure WAF IP 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72407809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com