nginx转发请求导致参数丢失

服务器基础 专栏收录该内容
11 篇文章 0 订阅

在使用nginx转发请求时,发现get请求获取不到请求的参数
原来的配置为:

 location / {
           proxy_pass http://localhost:8080;
        }

配置这样且每次请求的主机域名和ip都为127.0.0.1,无法获取到实际请求的数据,nginx在转发的时候会自动将消息头中的 HostX-Real-IP设置为本地的127.0.0.1,造成数据丢失,但是POST请求正常,GET请求方式的QueryString将丢失
将配置修改为如下所示:

 location / {
         proxy_set_header Host $host;   //nginx的变量$host,代表实际的host
         proxy_set_header X-Real-IP $remote_addr;  //nginx的变量$host,代表实际的address
         proxy_pass http://localhost:8080/$request_uri   ;//nginx的变量$host代表实际的主机,$request_uri代表实际的请求链接,也可以用$args代替
      }

配置检测:nginx -t
重启nginx:nginx -s reload
测试GET请求正常,mark一下!

  • 4
    点赞
  • 1
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值