介绍
这篇文章给大家分享的是有关Nginx代理时头头中带“_"信息丢失怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
<强>前言强>
开发网关项目时,在请求时往请求头头中放入了签名sign_key信息,在接收请求时再从标题中拿的出,在本地调试时是可以的,但上线之后通过Nginx代理之后发现拿不到。
的位置/,{ ,proxy_set_header X-Real-IP  remote_addr美元; ,proxy_set_header X-Forwarded-For  proxy_add_x_forwarded_for美元; ,proxy_set_header Host  http_host美元; ,proxy_set_header X-Nginx-Proxy 真实; ,add_header Proxy-Node  upstream_addr美元; ,add_header Proxy-Status  upstream_status;美元, , ,proxy_http_version 1.1; ,proxy_pass http://tianusa; 以前,}>后来找到原因是因为Nginx对头有所限制,下划线(_)不支持
<强>解决方法:强>
1。不用下划线
把下划线_改成其他的,如sign_key改成sign-key
2。从根本解除Nginx的限制
Nginx默认请求的头的那么中包含& # 39;_ # 39;时,会自动忽略掉。
解决方法是:在Nginx里的Nginx。参看配置文件中的http部分中添加如下配置:
underscores_in_headers ,,(默认,underscores_in_headers 为)Nginx代理时头头中带“_"信息丢失怎么办