在IIS 上配置 X-Forwarded-For 防护

来源:本站原创 点击数: 发布时间:2025年12月09日


客户没有装nginx,直接用iis设置。

X-Forwarded-For(XFF)是一个 HTTP 头,通常用于记录客户端的真实 IP 地址,尤其是在反向代理服务器(如 Nginx、CDN)前后。攻击者可以伪造这个头部,绕过 IP 访问控制。因此,我们需要在 IIS 上配置防护规则,防止伪造的 X-Forwarded-For 请求。


步骤:在 IIS 上设置 X-Forwarded-For 防护


  1. 安装 URL Rewrite 模块
    首先,确保 IIS 安装了 URL Rewrite 模块。如果没有,可以从 IIS 下载中心下载并安装。

  2. 配置入站规则
    打开 IIS 管理器,选择网站 → 双击 URL Rewrite → 点击 添加规则,选择 空白规则(Blank Rule)。

    • 条件 1{HTTP_X_FORWARDED_FOR} → 正则表达式 .+(表示请求包含 XFF)

    • 条件 2{REMOTE_ADDR} → 不匹配模式,设置为可信的反代 IP(例如:^172\.16\.20\.50$

    • 规则名称防止伪造 XFF  

    • 请求 URL:选择 正则表达式,并设置为 .*(匹配所有请求)

    • 添加条件

    • 配置动作:选择 自定义响应,设置状态码 403,并写上“伪造 XFF”作为描述。

  3. 保存并应用
    点击 应用,保存规则。之后,重启 IIS 或回收应用池。


如何测试规则是否生效


使用 curl 测试伪造的 X-Forwarded-For 请求:


curl -v -H "X-Forwarded-For: 8.8.8.8" https://你的域名/