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 白名单失效;
配了 → 一切信息恢复正确,且可限定只有白名单代理能发这些头,防止伪造。
posted @ 2025-10-10 14:21  yinghualeihenmei  阅读(7)  评论(0)    收藏  举报