nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx代理导致请求头某些内容丢失

Nginx代理导致请求头某些内容丢失的问题解决

作者:千鹤m

本文主要介绍了在使用NGINX代理时请求头中的下划线被自动忽略的问题,通过两种方法解决了这个问题,具有一定的参考价值,感兴趣的可以了解一下

问题描述

在请求时往请求头header中放入了token-api信息,在接收请求时再从header中拿出,在本地调试时是可以的,但通过NGINX代理之后发现拿不到,重新尝试放入.前端部署nginx后调用接口报401。接口也提示没有获取到token信息,意识到可能是token没有带过去。报错如下:

在这里插入图片描述

最后发现是NGINX对header有所限制,下划线(_)不支持。

方法一:不用下划线

把下划线_改成其他的,如sign_val改成sign-val

方法二:从根本解除nginx的限制

nginx默认request的header的那么中包含’_’时,会自动忽略掉。

解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:

underscores_in_headers on; 
//(默认 underscores_in_headers 为off)

两种代码均可行。

到此这篇关于Nginx代理导致请求头某些内容丢失的问题解决的文章就介绍到这了,更多相关Nginx代理导致请求头某些内容丢失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文