nginx代理,自定义请求头遇到的坑

问题现象:

  • 前后端分离项目,后端为JAVA,自定义请求头header MY_TOKEN 做鉴权,开发环境前端请求接口,运行正常。
  • 部署至服务器,使用nginx做了代理,进行转发。此时奇怪的事情发生了,服务端取不到 自定义header MY_TOKEN 的内容了

分析:

出现异常,无非是因为nginx做转发引起的。推测应该nginx转发没有携带请求头引起的,查找资料发现

句法:underscores_in_headers on | off;
默认:
underscores_in_headers off;
内容: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.

意思就是:在客户端请求标头字段中启用或禁用下划线。禁止使用下划线时,名称中包含下划线的请求标头字段将被标记为无效,并受ignore_invalid_headers指令的约束 。

于是乎,在nginx.conf配置文件中增加

underscores_in_headers on;

配置,可以加在keepalive_timeout  65; 下面。

重启nginx服务,使配置生效,再次测试可以取到自定义请求头的内容了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值