iis - Cloudflare - IIS 请求过滤/UrlRewrite:如果自定义标头(CF-Connecting-IP)包含值(特定 IP),则允许请求
问题描述
我有一种情况,我只想在用户连接到 VPN 时限制对网站的访问。但问题是 cloudlfare 从不同的 IP 而不是实际的客户 IP 发送请求。经过搜索,我知道 cloudflare 在CF-Connecting-IP
标头中发送客户 IP。
现在,我想使用它在 IIS 中过滤我的请求。我尝试了请求过滤和 URL 重写,但似乎我无法正确配置它。
如果有人知道如何实现它,请帮助。
谢谢你
解决方案
我使用 URL 重写规则找到了它。
我所做的如下:
- 添加一个新的空白规则。
- 在匹配 URL 部分请求的 URL:匹配模式使用:正则表达式模式:
(.*)
- 在条件部分 -> 添加新规则 -> 输入:
{ALL_HTTP}
-> 检查输入字符串:与模式不匹配 -> 模式:HTTP_CF_CONNECTING_IP:\b(1\.2\.3\.4|ip2|ip3)\b
- 在操作部分 -> 操作类型:中止请求
应用此方法后,每个未经身份验证的服务器都会收到 520 错误,当然您可以根据需要更改表达式。
希望这可以帮助某人。
推荐阅读
- angular - Angular 11,通用和猫鼬
- hadoop - 在 hadoop 中收集表使用统计信息
- python - 使用 PIPE 和 cat 文件从 python 运行 shell 脚本,名称为变量
- sql - 比较 lob 中的值
- spring-boot - 如何使用springboot将十六进制值解码为十进制值?
- php - 如何在不登录的情况下访问 wordpress 5.7 API?
- android - 如何通过点击在 Android 中获得准确的 GPS 位置
- shell - Jenkins:同时运行应用程序和命令
- html - 指向 HTML 书签的链接需要双击才能工作
- adsense - 渠道指标没有返回值