nginx做转发时,带'_'的header内容丢失
来源:互联网 发布:银行家算法c语言代码 编辑:程序博客网 时间:2024/06/07 07:13
原本在测试环境测试通过的APP,今天准备切到线上环境做最后测试,结果发现了错误。查看日志发现是APP端发送的http请求中的header内容丢失了。那么代码没有改动,怎么平白无故会丢失头信息?
于是想到两个环境的不同之处在于线上是通过nginx做的代理转发,会不会是nginx搞的鬼?于是搜索“nginx request header 丢失”,果不其然是这个问题,nginx对下划线的头信息做了限制,找到问题所在就等于完成了一大半,办法总比困难多。遂决定记录之。
- 方法一:不用下划线
既然nginx对下划线不支持,那没关系,不用下划线就是了。比如原来”app_version”改成”app-version”就可以了。(难怪一般header的name都是’-‘来拼接的,比如”User-Agent”)
- 方法二:从根本接触nginx的限制
nginx默认request的header的那么中包含’_’时,会自动忽略掉。
解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:
underscores_in_headers on; (默认 underscores_in_headers 为off)
0 0
- nginx做转发时,带'_'的header内容丢失
- nginx 转发会去掉带有下划线(_)的Header name
- nginx做非80端口转发丢失端口的问题
- nginx 做proxy 不转发 http header问题解决
- nginx 做proxy 不转发 http header问题解决
- nginx做代理不转发自定义http header问题
- nginx 做proxy 不转发 http header问题解决
- nginx做了一层负载均衡代理,nginx转发请求给tomcat时,端口号已经丢失掉了
- Nginx做转发
- nginx 自定义header 无法转发问题
- nginx不转发http header问题解决
- Nginx下带证书的分向转发
- nginx做proxy对用户header的处理
- 使用nginx 做反向代理时关于数据丢失的问题
- 带header的RecyclerView
- nginx rewrite arg 带问号的地址转发参数处理?Nginx重定向的参数问题
- Nginx转发时的重复订单问题
- nginx做非80端口转发
- Android的版本更新
- AppCompat does not support the current theme features
- **张鸿洋**封装的okhttputils 上传文字加图片 实现发表朋友圈效果
- ubuntu添加或删除PPA
- 搜索练习1/棋盘问题 dfs详解
- nginx做转发时,带'_'的header内容丢失
- 浅谈C++与C的一些不同
- 大量的QT控件及示例发放
- Google面试题之设计一个包含min函数的栈
- 数位DP模板
- Linux grub引导丢失修复
- 读取配置文件
- 从零开始写javaweb框架(第一章)—— 所遇到的问题 与 解决方法
- 从嵌入式到互联网