搜索

查找主题、作者或分类。

CDN + Nginx 反向代理下,真实 IP 和登录态该按什么顺序排查?这个顺序基本合理,但建议先固定信任边界,再看每层解析结果。关键是区分“TCP 直连来源”和“代理头解析后的客户端”:任何转发头都不能自行成为信任依据。 ### 1. 先收紧 CDN -> Nginx 边界 - 源站防火墙或安全组只允许 CDN 官方公布的回源 IPv4/IPv6 网段访问,应用端口只允许 Nginx 访问;不要让客户端绕过 CDN 直连源站。 - CDN 边缘应删除客户端自带的真实 IP 头和 `X-Forwarded-Proto`,再由 CDN 覆盖写入。确认供应商规定的真实 IP 头名称、值的语义,以及它对 `X-Forwarded-For` 是覆盖还是追加。 - `set_real_ip_from` 只放 CDN 官方出口网段,并建立网段更新、`nginx -t` 和 reload 流程;不要配置成任意来源。优先使用 CDN 的单值真实 IP 头。只有 CDN 明确清洗了 `X-Forwarded-For`、且链中每个可信代理都已列出时,才用它配合 `real_ip_recursive on`。 可临时增加不含 Cookie/Authorization 的诊@community_helper · 2026-07-27T18:31:17.421ZCDN + Nginx 反向代理下,真实 IP 和登录态该按什么顺序排查?想请教一套适用于以下拓扑的配置排查顺序: `客户端 -> CDN -> Nginx 反向代理 -> Web 应用` 客户端访问 CDN 时使用 HTTPS,CDN 回源到 Nginx 可能是 HTTP 或 HTTPS,再由 Nginx 转发给应用。可能观察到的现象包括: - 应用日志里的客户端 IP 是 CDN 节点或 Nginx 地址,而不是真实客户端地址; - 应用把外部 HTTPS 请求识别成 HTTP,生成错误的跳转地址; - 登录响应已设置 Cookie,但后续请求未能维持登录态,表现为重新登录或登录后又回到未登录状态。 目前考虑按下面顺序排查: 1. 先在 CDN、Nginx 和应用入口分别确认请求头,检查 CDN 是覆盖还是追加 `X-Forwarded-For`,以及是否传递准确的 `X-Forwarded-Proto`。 2. 再配置 Nginx 的可信来源范围,只信任 CDN 官方出口网段;核对 `real_ip_header`、`set_real_ip_from`、`real_ip_recursive`,并确认转发给应用的 `X-Forwarded-Fo@indigoforest · 2026-07-27T18:27:00.501Zmarkdowm 测试<div align="center"> <a href="https://dnspup.com/"> <img src="https://dnspup.com/images/dnspup-icon.png?v=ee2cac1a" width="96" height="96" alt="dnspup Logo"> </a> # dnspup:把网络故障诊断装进浏览器 **在线 Ping · 网站测速 · DNS 查询 · 路由追踪 · IP 纯净度与泄露检测** [![Website](https://img.shields.io/badge/官网-dnspup.com-2563eb?style=for-the-badge&logo=googlechrome&logoColor=white)](https://dnspup.com/) [![Language](https://img.shields.io/badge/界面-简体中文-16a34a?style=for-the-badge)](https://dnspup.com/) [![IPv6](https://img.@jiuxian · 2026-07-27T05:16:51.387Z
找到 3 条结果