来源:互联网 更新时间:2026-08-23 07:24
前几天我帮一个朋友看 Nginx 配置。他把 proxy_pass 写好了,但问了我一句:

“我这个是不是正向袋里?”
我看了一眼,其实是反向袋里。
这类问题其实非常常见。很多人一看到“袋里”这两个字,下意识就把它们当成一回事。可放到 Nginx 的语境里看,正向袋里和反向袋里虽然名字里都有“袋里”,但所处的位置根本不是一边,角色也完全不同。
我一般用一句话区分:
正向袋里,是客户端找袋里出去;反向袋里,是服务端放袋里在前面接请求。
正向袋里站在客户端这一边。
请求关系大概是:
text复制
客户端 → 正向袋里 → 目标服务器 客户端不直接访问目标网站,而是把请求交给袋里服务器,由袋里服务器替它访问目标网站。
目标服务器看到的,通常是袋里服务器,而不是原始客户端。
典型场景包括:
内网机器通过统一出口访问外网; 开发环境临时调试外部接口; 公司网关统一做访问审计; 采集任务统一管理出口 IP; 客户端不希望直接暴露真实来源。这里的重点是:袋里替客户端出去。
如果你需要在客户端、程序或系统网络里配置袋里地址,那大概率就是正向袋里。
反向袋里站在服务端这一边。
请求关系大概是:
text复制
用户 → Nginx → 后端服务 用户访问的是 Nginx 暴露出来的域名,真实后端服务藏在 Nginx 后面。
比如用户访问:
text复制
https://example.com/api/user Nginx 实际可能转发到:
text复制
http://127.0.0.1:8080/user 用户不知道后面是什么服务、什么端口、几台机器。它只知道访问一个域名。
这就是反向袋里的典型用途:
网站统一入口; API 请求转发; HTTPS 证书统一管理; 后端服务隐藏; 多个服务共用一个域名; 负载均衡; 缓存、限流、压缩。大多数线上网站用 Nginx,主要就是用它做反向袋里。
| 对比项 | 正向袋里 | 反向袋里 |
|---|---|---|
| 袋里站在哪边 | 客户端一侧 | 服务端一侧 |
| 替谁工作 | 替客户端访问外部资源 | 替服务端接收请求 |
| 隐藏谁 | 隐藏客户端 | 隐藏真实后端 |
| 谁配置 | 客户端或客户端所在网络 | 服务端部署方 |
| 用户是否感知 | 通常需要配置袋里 | 一般无感知 |
| 常见场景 | 统一出口、采集袋里、访问外部资源 | 网站入口、API 转发、负载均衡 |
| Nginx 是否擅长 | 能做简单场景 | 非常成熟 |
最常见的反向袋里配置是这样:
nginx复制
server { listen 80;server_name example.com;location / { proxy_pass http://127.0.0.1:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}} 这段配置表示:
用户访问 example.com,Nginx 接住请求,然后转发给本机 8080 端口的后端服务。
几个头字段也别省:
Host:把原始域名传给后端; X-Real-IP:传递用户真实 IP; X-Forwarded-For:记录请求经过的袋里地址; X-Forwarded-Proto:告诉后端原始请求是 HTTP 还是 HTTPS。 不少线上问题不是 proxy_pass 写错,而是这些头没传好。
Nginx 也可以做简单 HTTP 正向袋里:
nginx复制
server { listen 8888;resolver 8.8.8.8;location / { proxy_pass http://$http_host$request_uri;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;}} 客户端把袋里地址设置为:
text复制
http://袋里服务器IP:8888 之后客户端访问外部 HTTP 网站,请求会先到 Nginx,再由 Nginx 去访问目标站点。
不过,这段配置更像是拿来讲清楚原理的,不太适合直接当成一套完整的生产方案去用。原因也不复杂:HTTPS 正向袋里一般离不开 CONNECT 隧道,而原生 Nginx 的 HTTP 模块对这部分能力支持并不完整。真要长期稳定运行,常见做法还是上专门的正向袋里服务,或者先确认 Nginx 已经加载了对应的第三方模块。
判断正向袋里和反向袋里,不要只看有没有 proxy_pass。
你要看它替谁办事。
替客户端出去,是正向袋里。
替服务端接请求,是反向袋里。
做网站入口、API 转发、负载均衡,按反向袋里理解。
做统一出口、采集袋里、外部资源访问,按正向袋里理解。
这个方向判断清楚,Nginx 配置就不容易跑偏。
腾讯ima怎么把微信内容一键导入知识库?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
WorkBuddy微信版怎么获得积分?
比特币 2025 年价格预测:BTC 的未来走势
车载冰箱重置到出厂设置几步?
5000元起的鼠标哪个最值得入手?
管线机怎么接云米净水器
短剧《史上最强洪荒修为》剧情介绍
结婚家电首选:Leader懒人三筒Ultra热泵洗烘一体
kimi提示词专家使用方法新手指南
Aptos(APT)2026-2032年价格预测与历史走势梳理
笔记本移动电源推荐哪款?
短剧《仙人跳获透视,古玩玉器我全拿捏》剧情介绍
腾讯ima知识库怎么分类管理?
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc