可以使用以下命令: bash sudo nginx -s reload 然后再次使用 curl 或其他工具进行测试,验证问题是否解决。 通过以上步骤,你应该能够定位并解决 Nginx 转发过程中 Header 丢失的问题。如果问题依然存在,可能需要进一步检查 Nginx 的其他配置或后端服务器的日志以获取更多信息。
解决方法 一: 既然ngnix对下划线不支持,那么不用下划线就是了,比如比如原来”app_version”改成”app-version”就可以了,(难怪一般header的name都是’-‘来拼接的,比如”User-Agent”) 解决方法二: nginx默认request的header的那么中包含’_’时,会自动忽略掉。 解决方法是:在nginx里的nginx.conf配置文件中的http...
于是搜索“nginx request header 丢失”,果不其然是这个问题,nginx对下划线的头信息做了限制,找到问题所在就等于完成了一大半,办法总比困难多。遂决定记录之。 -方法一:不用下划线 既然nginx对下划线不支持,那没关系,不用下划线就是了。比如原来”app_version”改成”app-version”就可以了。(难怪一般header的name...
最后追踪到问题的本质原因是因为第三方公司在头部请求参数比较特殊,参数里面带了下换线(==_==) 为了统一调用转发在Nginx里面进行了相关的配置,默认Nginx Header参数下换线被忽略 默认情况下,并不是所有headers的fields它都会转发,fields里带有下划线(_)的,Nginx视为不合法,自动抛弃不发了。例如:AUTHORIZATION_TOKEN ...
问题1 nginx转发报错问题/nginx转发丢失header头部信息 # 自定义请求头 my_token 123456789 1. 2. http { # 配置 nderscores_in_headers=on ,默认false underscores_in_headers on; } 1. 2. 3. 4. 注意 underscores_in_headers不配置或者是off的时候 ...
最后补充一下附录跨域和允许下划线访问的内容就当做一个彩蛋,本文的真实场景,其实是通过nginx-ingress来做7层转发 附录 kubectl.kubernetes.io/last-applied-configuration: |-if($request_method='OPTIONS') { add_header'Access-Control-Max-Age'1728008; ...
个人比较推荐这种方式。常见的header变量都是遵循这种方式,例如:Content-Type,Content-Length,Accept-Ranges等。 方法二: 在nginx.conf中加上underscores_in_headers on配置 http{...underscores_in_headers on;} ©著作权归作者所有,转载或内容合作请联系作者 ...
Nginx请求转发端口、请求头丢失 一个老项目需要整合SSO,我们公司的SSO需要拦截请求地址,该路径下的所有请求必须先登录,当登录后通过Http Header传递用户信息,这里面先是通过apache->nginx->tomcat。 请求头丢失 其它业务都正常,这个业务的后端无论如何都获取不到apache发送过来的请求头,然后,我们就去掉nginx这个环境,...
Nginx代理,header数据丢失(带“_”下划线) 通过request.getheader(''xx_xx) 发现只要包含_的都取不到,仔细回想了一下,代码中怎么看都没有问题,本地代理也没有问题, 最后回想起来,生产通过nginx进行了代理。那么问题就在nginx这里,来吧,给出答案 nginx.conf配置文件中的http部分中添加如下配置: underscores_in_h...