填坑日志(20190613) 自定义Header莫名消失解决

公司的项目目前使用Spring Cloud+Vue架构,通过Nginx做反向代理,一直运行正常。
今天却遇到了一个奇怪的问题,自定义的Header怎么都获取不到。开始以为是自己写的有问题,debug后发现Spring确实没有接收到Header。于是怀疑到了Nginx上,查阅资料发现了这个配置:

Syntax: underscores_in_headers on | off;
Default: underscores_in_headers off;
Context: http, server
Enables or disables the use of underscores in client request header fields. When the use of underscores is disabled, request header fields whose names contain underscores are marked as invalid and become subject to the ignore_invalid_headers directive.
If the directive is specified on the server level, its value is only used if a server is a default one. The value specified also applies to all virtual servers listening on the same address and port.

什么意思呢?
原来Nginx中有underscores_in_headers这个配置,默认为关闭。而这个配置为允许Header中包含下划线。即使用默认配置的话Nginx会过滤包含下划线的Header。Nginx文档中没有提到为什么要启动这个配置,可能出于命名规范的原因?
添加配置为on,重启服务,问题解决。
Nginx官方文档地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值