Cloudflare - IIS 请求过滤/UrlRewrite:如果自定义 headers (CF-Connecting-IP) 包含值(特定 IP)则允许请求

Cloudflare - IIS Request Filtering / UrlRewrite: Allow requests if a custom headers (CF-Connecting-IP) contains a value (Specific IP)

我有这样的情况,我只想在用户连接到 VPN 时限制对网站的访问。但问题是 cloudlfare 从不同的 IP 而不是实际的客户 IP 发送请求。经过搜索,我知道 cloudflare 在 CF-Connecting-IP header 中发送客户 IP。

现在,我想使用它在 IIS 中过滤我的请求。我尝试了请求过滤和 URL 重写,但似乎无法正确配置它。

有知道怎么实现的请帮忙

谢谢

我使用 URL 重写规则找到它。

我做的是这样的:

  1. 添加新的空白规则
  2. 在匹配 URL 部分 请求URL:匹配模式 使用:正则表达式 模式:(.*)
  3. 在条件部分 -> 添加新规则 -> 输入:{ALL_HTTP} -> 检查输入字符串是否:与模式不匹配 -> 模式:HTTP_CF_CONNECTING_IP:\b(1\.2\.3\.4|ip2|ip3)\b
  4. 在操作部分 -> 操作类型:中止请求

应用此方法后,每个未经过身份验证的服务器都会收到 520 错误,当然您可以根据需要更改表达式。

希望这对某人有所帮助。