文档章节

nginx做转发时,带’_’的header内容丢失

nazir
 nazir
发布于 2017/04/28 11:05
字数 300
阅读 20
收藏 0
点赞 0
评论 0

原本在测试环境测试通过的APP,今天准备切到线上环境做最后测试,结果发现了错误。查看日志发现是APP端发送的http请求中的header内容丢失了。那么代码没有改动,怎么平白无故会丢失头信息?

于是想到两个环境的不同之处在于:线上是通过nginx做的代理转发,会不会是nginx搞的鬼?于是搜索“nginx request header 丢失”,果不其然是这个问题,nginx对下划线的头信息做了限制,找到问题所在就等于完成了一大半,办法总比困难多。

  1. **方法一:不用下划线 **

    既然nginx对下划线不支持,那没关系,不用下划线就是了。比如原来”app_version”改成”app-version”就可以了。(难怪一般header的name都是’-‘来拼接的,比如”User-Agent”)

  2. **方法二:从根本接触nginx的限制 **

    nginx默认request的header的那么中包含’_’时,会自动忽略掉。 解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:

underscores_in_headers on; (默认 underscores_in_headers 为off)

© 著作权归作者所有

共有 人打赏支持
nazir
粉丝 0
博文 20
码字总数 13313
作品 0
杭州
后端工程师
Openresty最佳案例 | 第4篇:OpenResty常见的api

转载请标明出处: http://blog.csdn.net/forezp/article/details/78616660 本文出自方志朋的博客 获取请求参数 vim /usr/example/example.conf 重新加载nginx配置文件: nginx -s reload 在浏...

forezp
2017/11/23
0
0
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决

遇到一个问题,nginx 完全做反向代理的时候,当有请求来的时候,后端服务器,有时可以很快返回结果,但有时根本没有访问到后端服务器 查了下发现nginx 这个需要手动进行配置,让nginx 支持下...

wks97
2017/04/06
0
0
nginx 转发到 tomcat 的 ServerName 配置问题

做‘记住我’功能时候遇到的问题。 本地测试的时候一点问题没有,扔到测试环境就不行。查了半天,原来是客户端的cookie保存失败了,保存cookie时的域是localhost,和当前访问的域名对不上。 ...

憨科
2014/04/18
0
0
解决nginx反向代理proxy不能转发header报头

使用nginx做负载均衡或http代理时,碰到http header不转发的问题。 配置里只有转发设置原始ip和host的 proxysetheader Host $host; proxysetheader X-Real-IP $remoteaddr; proxyset_header...

yanconggod
2017/11/20
0
0
将我的博客迁移到亚马逊云端(2)

上篇文章中讲了将我的Octopress博客部署到亚马逊的S3上。而这篇文章则主要讲如何使用亚马逊提供的CloudFront作为内容分发并将自己的独立域名绑定到此CloudFront上。 首先,需要启用亚马逊的C...

无敌西瓜
2013/10/01
0
0
nginx自定义header头内容丢失

今天碰到,使用nginx做负载均衡,http header自定义的参数不转发的问题。 发现带下划线的的自定义参数,不能转发, soule下确实有这个情况:http://bbs.watchstor.com/thread-71311-1-1.htm...

greki
2012/10/19
0
1
Nginx错误日志与优化专题

一、Nginx配置和内核优化 实现突破十万并发 二、一次Nignx的502页面的错误记录 (1)错误页面显示 错误日志: 2017/07/17 17:32:57 [error] 29071#0: *96 recv() failed (104: Connection re...

tinywan1227
2017/04/27
0
0
nginx模块nginx_upstream_check_module来检查后端服务器的健康情况

大家都知道,前端nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver剔出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用pro...

技术小胖子
2017/11/09
0
0
Nginx实现404页面的几种方法【转】

一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时...

bz_z
06/07
0
0
nginx--学习总结

最近复习了一下nginx,由于要考试了,大概总结一下 下载地址: http://nginx.org/download/nginx-1.4.2.tar.gz 安装准备: nginx依赖于pcre库,要先安装pcre yum install pcre pcre-devel cd /...

baiweibi
01/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

rabbitmq学习记录(三)

工作队列:一个生产者,多个消费者,生产者直接将消息发送到rabbitmq的队列之中 默认采用的是轮询分配:即不管消费者处理信息的效率,队列给所有消费者轮流发送一条信息,直至消息发送完毕 ...

人觉非常君
21分钟前
0
0
Java 之 反射

反射,剖析 Java类 中的 各个组成部分,映射成 一个个 Java对象,多用于 框架和组件,写出复用性高的通用程序。 测试类代码如下: class Person { private String name; public St...

绝世武神
25分钟前
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
31分钟前
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
33分钟前
0
0
003. es6数值的扩展

一、普通扩展 Number 方法,将字符串、数值转为十进制 : Number('0b111') Number.isFinite() 用来检查一个数值是否为有限的:Number.isFinite(15) Number.isNan() 用来检查一个值是否为NaN N...

秋季长青
47分钟前
0
0
C语言数组和指针的语法糖

对于C语言,我可以这样秀:比如当创建一个数组arr[n]之后,一般我们去遍历数组的时候是for (int i = 0; i < n; i++) { a[i]; }但是我知道下表访问符[]是个语法糖,也就是说a[i]在编译器看来是...

ustbgaofan
55分钟前
0
0
Call to undefined function bcmath()的解决方法

乐意黎的ECS主机环境,Centos7.2 + PHP7 由于使用了bcdiv()函数,运行时总在抛错。 Fatal error: Call to undefined function bcmath() in /usr/loca/apache/htdocs/... on line 4 一查得知:......

dragon_tech
今天
0
0
css优先级

..

architect刘源源
今天
0
0
【转】Twitter的分布式自增ID算法snowflake

结构 snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以...

talen
今天
0
0
hive支持行级修改

Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置。要想支持行级insert、update、delete,需要配置Hive支持事务。 一、Hive具有ACID语义事务的使用场景 1. 流式...

hblt-j
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部