news 2026/9/29 16:59:30

Nginx 作为反向代理时设置的请求头

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx 作为反向代理时设置的请求头

这三个参数是Nginx 作为反向代理时设置的请求头,目的是把真实的客户端信息传递给后端应用(Tomcat、Spring Boot、Node.js 等)。

1

2

3

4

5

6

7

location/api{

proxy_pass http://172.28.3.106:8094;

proxy_redirect http://https://;

proxy_set_header Host $host:$server_port;

proxy_set_header X-real-ip $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

proxy_set_header Host $host:$server_port;

  • 含义:把客户端请求时的Host 头信息传给后端。
  • $host:请求的域名(可能来自Host头,也可能是请求的 IP)。
  • $server_port:Nginx 接收请求时监听的端口号。
  • 作用:后端应用拿到的Host头和用户访问的保持一致,避免后端误判。

👉 例子:
用户访问

1

http://example.com:8080/api/user

Nginx 转发时会带上:

1

Host: example.com:8080

proxy_set_header X-Real-IP $remote_addr;

  • 含义:告诉后端应用,真实客户端的 IP 地址。
  • $remote_addr:Nginx 接收到请求时,客户端的源 IP。
  • 作用:让后端知道用户的真实 IP,而不是只看到 Nginx 的 IP。

👉 例子:
如果用户 IP 是203.0.113.5,那么后端会收到:

1

X-Real-IP: 203.0.113.5

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  • 含义:传递请求经过的代理链路中的客户端 IP 列表。

  • $proxy_add_x_forwarded_for:会在已有的 X-Forwarded-For 头后面追加 $remote_addr。

  • 作用:

    • 如果请求直接来自客户端 → 就是客户端 IP。
    • 如果请求经过多个代理 → 会形成一个 IP 列表,最后一个就是最近的客户端。

👉 例子:
用户203.0.113.5→ 代理1(Nginx1) → 代理2(Nginx2) → 后端。
后端收到的头可能是:

1

X-Forwarded-For: 203.0.113.5, 10.0.0.1, 10.0.0.2

(第一个 IP 永远是真实用户的公网 IP)

总结

Header 配置作用典型用途
Host $host:$server_port保留客户端访问的域名和端口后端根据域名/端口 做路由或多租户
X-Real-IP $remote_addr传递客户端真实 IP后端日志、风控、限流
X-Forwarded-For $proxy_add_x_forwarded_for传递完整代理链路上的客户端 IP 列表追踪用户来源、防攻击分析

在实际项目里,Spring Boot 里要拿到真实客户端 IP,通常要优先取:

  1. X-Forwarded-For 的第一个 IP
  2. 如果没有,就取 X-Real-IP
  3. 否则再 fallback 到 request.getRemoteAddr()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 16:59:29

SpringBoot整合Vue开发油田土地档案管理系统:从设计到部署全流程详解

油田土地档案管理这种项目,乍一看像是个典型的“毕设题目”,但真正接手之后你会发现,它的业务复杂度远高于普通的数据管理系统。油田的土地涉及征用、临时占用、农用地复垦、权属变更、合同管理等一系列场景,档案一旦缺失或者对不…

作者头像 李华
网站建设 2026/9/29 16:57:35

RHCSA备考核心:用户权限、systemd与计划任务的实战要点

如果你正在备考 RHCSA,做作业做到第二次,说明你已经熬过了安装系统和熟悉命令行的阶段。RHCSA 这门认证最难的一点在于,题目不是选择题,而是给你一个真实的系统环境,让你在规定时间内完成一系列配置任务。第二次作业的…

作者头像 李华
网站建设 2026/9/29 16:57:21

HOOPS赋能Proplanner:制造数据三维可视化与工艺规划落地解析

制造业数字化这几年,有一个特别扎眼的矛盾:工艺规划软件里的数据和三维模型里的数据,仿佛活在两个平行世界。做工艺的人盯着Excel里的BOM、工序卡和工时定额,三维设计的人守着CAD模型里的几何、约束和尺寸,两边谁也顾不…

作者头像 李华
网站建设 2026/9/29 16:56:53

hindsight复盘工作流:用Dify把后见之明变成前见之用

hindsight这个词本身就很有意思——它自带一种自嘲的意味,明明早该看清楚的事情,非要等尘埃落定之后才恍然大悟。我前段时间做的这个hindsight项目,核心就是想把这种“后知后觉”变成每天都能用的生产力。说白了,hindsight不是预测…

作者头像 李华
网站建设 2026/9/29 16:55:51

Hindsight实战:为Agent构建分层记忆与反思机制

1. 从“hindsight”说起:为什么我们需要给Agent装一个“后视镜”第一次看到“hindsight”这个词,是在跟几个做Agent的朋友聊天的时候。有人抱怨说,自己搭的Agent每次处理完一个任务,下次遇到类似场景还是从零开始,就像…

作者头像 李华
网站建设 2026/9/29 16:54:53

外卖商城微信小程序开发全攻略:从登录到支付的核心实践

在做 weixin129 外卖商城平台时,我做的第一件事不是搭项目骨架,而是先和团队吵了一架:到底做 App 还是做微信小程序?当时外卖业务刚起步,老板觉得做 App 更像一个“平台”,但我很清楚,对大多数本…

作者头像 李华