Nginx只会放过合法的X-Headers

因为办公室机房用电不稳定的原因,我们迁移了一个子系统到IDC的主机。

之前用lighttpd,迁移后使用Nginx做scgi_pass的反向代理。

测试时发现客户端请求子系统的API无法通过验证,研究代码发现:

代码中设计了API的验证信息放在HTTP头部,名称设为API_TOKEN

而位于代理之后的Django应用无法获得这个信息,Nginx不会传递名称带有下划线的HTTP Header。

通过查阅资料我们验证了这一点。

解决方法简单,但是麻烦些,就是修改所有客户端调用API,设置验证信息HTTP Header为X-API-TOKEN。

喜欢这篇文章就分享到微博吧!
留言请发送到
微信公众帐号
“技术派”

修订历史:


知识共享许可协议

关注@好看簿的蚂蚁

探讨技术、设计、人文和商业
相关的创业话题