yanshenxian
V2EX  ›  NGINX

nginx rewrite 和 proxy_pass 的疑惑

By yanshenxian at 2020 年 7 月 26 日 · 4067 次点击

这两种设置都能实现转发用户请求的功能,并且浏览器地址隐藏转发的实际地址

我很奇怪这种转发是不是会消耗 nginx 本身服务器的流量,比如用户请求到了 nginx 服务器,nginx 服务器自己去拉去转发地址的内容,然后响应给用户?

12 条回复  •  2020-08-03 11:19:25 +08:00
rrfeng
   1
rrfeng  
   2020 年 7 月 26 日 via Android
多读书……
yanshenxian
   2
yanshenxian  
OP
   2020 年 7 月 26 日
@rrfeng 请具体指教
mytsing520
   3
mytsing520  
PRO
   2020 年 7 月 26 日
会消耗
yanshenxian
   4
yanshenxian  
OP
   2020 年 7 月 26 日
@mytsing520 我想也是,有办法实现不消耗流量(指转发内容的流量,非客户端原始请求流量)的转发呢,例如显示声明 301/302,但是浏览器地址不改变吗?
nvkou
   5
nvkou  
   2020 年 7 月 27 日 via Android
反向代理是用户无感知的,Nginx 帮你完成请求。
你让 Nginx 返回 301 是可以,但 301 是给浏览器看的,你只能重定向到不同地址,否则明显 too many redirect
Trim21
   6
Trim21  
   2020 年 7 月 27 日 via Android
@yanshenxian 不能,用户看到的东西就是你这台服务器返回的,没办法由不通过服务器转发又不改变 url 。
dbw9580
   7
dbw9580  
   2020 年 7 月 27 日 via Android
@yanshenxian Service worker 可能是你想要的,本质上是运行在浏览器内的反向代理
somalia
   8
somalia  
   2020 年 7 月 27 日
不用就不消耗了。
julyclyde
   9
julyclyde  
   2020 年 7 月 27 日
这不是废话么……
WaldenHorizon
   10
WaldenHorizon  
   2020 年 7 月 27 日
基础知识类的问题找搜索引擎效率最高,经验和策略类的问题再找大佬
yanshenxian
   11
yanshenxian  
OP
   2020 年 7 月 27 日
@wangritian 你这种回答毫无作用 👎
linuxmap
   12
linuxmap  
   2020 年 8 月 3 日
rewrite 如果使用的是 redirect 的方式,就是 302 的方式,浏览器还是能看到跳转的地址的。 这中隐藏不了地址。 proxy_pass 是直接去访问地址,拉下来的数据响应给用户。 对于内存的消耗,nginx 做的很优秀的,你放心, 我记得向 rewrite 这种 nginx 内部是有最多可以改写几次的限制。
› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
© 2026 V2EX · 656ms · 3.9.8.5