Springboot request.getHeader()获取不到参数值记录

博客讲述了在后端开发中遇到的一个问题,即后端无法从请求头中获取到LOGCLOUD_IS_RECORD参数。问题根源在于nginx服务器默认忽略了含有下划线的请求头。解决方案是在nginx配置中启用underscores_in_headers选项,允许下划线存在于请求头中。同时建议优化请求头参数命名,使用"-"代替"_"以避免类似问题。
摘要由CSDN通过智能技术生成
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();

 HttpServletRequest request = servletRequestAttributes.getRequest();

String isRecord = request.getHeader("LOGCLOUD_IS_RECORD");

前端请求中,确认请求头中已经携带了LOGCLOUD_IS_RECORD参数了,后端始终获取不到。

请求通过了nginx代理。后来排查nginx默认或忽略请求头中key携带"_"的值。

解决:

nginx的server中增加配置:

underscores_in_headers on; #该属性默认为off,表示如果header name中包含下划线,则忽略掉。

建议:规范请求头参数key命名,“-”代替“_”。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值