前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx之代理(proyx_pass)解读

Nginx之代理(proyx_pass)解读

原创
作者头像
一个风轻云淡
发布2023-09-18 09:16:30
1.5K0
发布2023-09-18 09:16:30
举报
文章被收录于专栏:java学习java

正向代理

一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

客户端才能使用正向代理。正向代理总结就一句话:代理端代理的是客户端。例如说:我们使用的OpenVPN 等等。

例如:在大陆访问www.google.com,我们需要一个代理服务器,我们通过代理服务器去访问谷歌,这个过程就是正向代理。

正向代理,代理的是客户端,服务端不知道实际发起请求的客户端

反向代理

反向代理(Reverse Proxy)方式,是指以代理服务器来接受 Internet上的连接请求,然后将请求,发给内部网络上的服务器并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

反向代理,代理的是服务端,客户端不知道实际提供服务的服务端

都是站在客户端的角度,看代理服务器是帮客户端代理,还是帮服务端代理

正向代理,就是代理服务器代理了客户端,去和目标服务器进行交互。现实生活中的场景:黄牛买票。 反向代理,就是代理服务器代理了目标服务器,去和客户端进行交互。现实生活中的场景:房屋中介。

proyx_pass配置项解读

基本使用

浏览器访问localhost就会跳转到 http://www.atguigu.com,同时域名没有变化(不支持https)可以有多个server。然后根据策略、调度。

匹配规则总结

location 是否以“/”结尾,在 ngnix 中 location 进行的是模糊匹配

  1. 没有“/”结尾时,location /abc/def 可以匹配 /abc/defghi 请求,也可以匹配 /abc/def/ghi等
  2. 而有“/”结尾时,location /abc/def/ 不能匹配 /abc/defghi 请求,只能匹配 /abc/def/anything 这样的proxy_pass配置规则

配置 proxy_pass 时

  1. 当在后面的 url 加上了 /,相当于是绝对路径,则 Nginx 不会把 location 中匹配的路径部分加入代理 uri。
  2. 如果配置 proxy_pass 时,且仅为 IP或域名+端口,后面没有 /,Nginx 则会把匹配的路径部分加入代理 uri。
  3. 如果配置 proxy_pass 时,为 IP或域名+端口+路径,即使后面没有 /,Nginx 也不会把匹配的路径部分加入代理 uri。
举例解读

以访问地址:http://localhost/proxy/abc.html

1 2 3

location /proxy/ {   proxy_pass http://127.0.0.1:8080/; }

代理到:http://127.0.0.1:8080/abc.html

1 2 3

location /proxy/ {   proxy_pass http://127.0.0.1:8080; }

相对于第一种proxy_pass缺少/ 代理到:http://127.0.0.1:8080/proxy/abc.html

1 2 3

location /proxy/ {   proxy_pass http://127.0.0.1:8080/api/; }

代理到:http://127.0.0.1:8080/api/abc.html

1 2 3

location /proxy/ {   proxy_pass http://127.0.0.1:8080/api; }

相对第三种少/

代理到:http://127.0.0.1:8080/apiabc.html

1 2 3

location /proxy {   proxy_pass http://127.0.0.1:8080/api; }

代理到:http://127.0.0.1:8080/api/abc.html

1 2 3

location /proxy {   proxy_pass http://127.0.0.1:8080/; }

代理到:http://127.0.0.1:8080//abc.html

注意此处有两个反斜杠//

​​我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正向代理
  • 反向代理
  • proyx_pass配置项解读
    • 基本使用
      • 匹配规则总结
        • 举例解读
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档