nginx反向代理怎么传递参数

(*-*)浩
(*-*)浩 原创
2019-11-01 11:21:45 19831浏览

Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能,比如后面会介绍的负载均衡。

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

nginx反向代理配置:

 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;

以上就是nginx反向代理怎么传递参数的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。