upstream sent invalid header while reading response header from upstream 错误解决

由于最近线上出现502错误比较蛋疼,所以重新把nginx详细配置做下说明,以此来查找问题。

nginx 配置
location / {
            proxy_next_upstream http_500 http_502 http_504 error timeout invalid_header;
            proxy_pass http://bak_server;
            proxy_set_header Host   $host;

            proxy_set_header X-Real-IP      $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
配置说明如下:

proxy_next_upstream http_500 http_502 http_504 error timeout invalid_header;
#这个配置指定nginx在从一台后端主机获取数据时遇到何种错误时会转到下一个后端服务器,默认是error timeout 就是后端服务器
当机,网络出现问题之类的,timeout一般是网络阻塞,超时。

proxy_pass http://bak_server;

#转发请求到后端服务器

proxy_set_header Host   $host;
proxy_set_header X-Real-IP      $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#以上三行的配置是同一个目的,后端服务器获得client的真实IP

#nginx并不会对X-Forwarded-For头做任何的处理,除非用户使用proxy_set_header 参数设置:
proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
$proxy_add_x_forwarded_for变量包含客户端请求头中的"X-Forwarded-For",与$remote_addr用逗号分开,如果没有"X-Forwarded-For" 请求头,则$proxy_add_x_forwarded_for等于$remote_addr。
$remote_addr变量的值是客户端的IP

根据线上的错误

8990057 upstream sent invalid header while reading response header from upstream


所以注释掉
invalid_header
变为:
proxy_next_upstream http_500 http_502 http_504 error timeout;
则一切正常了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值