当前位置:  开发笔记 > 后端 > 正文

nginx反向代理怎么传递参数

nginx反向代理可以通过url里面加了请求参数来进行传递,但是需要使用$request_uri,即proxy_pass$scheme:proxy_location$request_uri;
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反向代理怎么传递参数的详细内容,更多请关注其它相关文章!

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有