首页 > 解决方案 > Cloudflare - IIS 请求过滤/UrlRewrite:如果自定义标头(CF-Connecting-IP)包含值(特定 IP),则允许请求

问题描述

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

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

如果有人知道如何实现它,请帮助。

谢谢你

标签: iiscloudflareurl-rewrite-modulerequestfiltering

解决方案


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

我所做的如下:

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

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

希望这可以帮助某人。


推荐阅读