美文网首页Spring boot
解决nginx自动过滤带下划线的header

解决nginx自动过滤带下划线的header

作者: 三也视界 | 来源:发表于2021-09-09 01:10 被阅读0次

    最近新增需求,发现客户端请求种header传值给服务器,竟然没获取到。调试后发现在本地是可以获取到前端header传的参数的,但是部署到服务器获取的就是null(服务器地址用nginx做了代理)

    原因:
    查源码才发现nginx对header name的字符做了限制,默认 underscores_in_headers 为off,表示如果header name中包含下划线,则忽略掉,部署后就获取不到。

    解决:

    在header里不要用 “_” 下划线,可以用驼峰命名或者其他的符号(如减号-)代替。nginx默认忽略掉下划线,可能是规避参数和nginx的参数关键字重复了,比如下面的结构体指针。


    image.png

    由于参数名字是我们可控的,这种概率不大。所以还是倾向于在nginx里的 nginx.conf文件中配置http的部分添加 : underscores_in_headers on;(默认值是off)

    相关文章

      网友评论

        本文标题:解决nginx自动过滤带下划线的header

        本文链接:https://www.haomeiwen.com/subject/oiebwltx.html