builder.Services.Configure<ForwardedHeadersOptions>有什么作用
builder.Services.Configure<ForwardedHeadersOptions>(...) 只做一件事:“提前把反向代理发来的 X-Forwarded-For / X-Forwarded-Proto / X-Forwarded-Host 等头信息设为可信,并告诉 ASP.NET Core:以后就把这些头当成客户端的真实 IP、协议和域名,否则日志、重定向、认证都会错。”
换句话说,它启用并校准“代理转发头”,让应用躲在 Nginx、IIS、CDN、负载均衡器后面时,仍能正确识别:
-
用户真实 IP(不再是代理 IP)
-
原始协议 http/https(否则永远是 http)
-
原始主机名(否则重定向会跳到内网地址)
不配 → 日志全是代理地址,HTTPS 重定向失败,IP 白名单失效;
配了 → 一切信息恢复正确,且可限定只有白名单代理能发这些头,防止伪造。
配了 → 一切信息恢复正确,且可限定只有白名单代理能发这些头,防止伪造。
浙公网安备 33010602011771号