nginx反向代理传递参数

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。  (推荐学习:nginx教程

nginx反向代理配置:

1

2

3

4

5

6

7

8

9

10

11

12

location ~ \/someuri {

       access_log /var/log/nginx/uploads.log;

       proxy_pass_header Server;

       proxy_set_header Host $http_host;

       proxy_redirect off;

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header X-Scheme $scheme;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       proxy_read_timeout 300;

       proxy_pass $scheme://proxy_location$uri;

       recursive_error_pages on;

   }

如上面代码所示,可以进行反向代理,但这样会有问题:

如果在url里面加了请求参数,用$scheme://proxy_location$uri转发后是不带这请求参数的,所以不能使用$uri这个变量,如需要继续携带请求参数,则需要使用$request_uri,即proxy_pass $scheme://proxy_location$request_uri;

posted on 2023-11-21 09:06  五官一体即忢  阅读(717)  评论(0编辑  收藏  举报

导航