Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1875|回复: 0
打印 上一主题 下一主题

spring后台获取不到自定义header

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2018-10-23 17:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
http://qiaoshi.iteye.com/blog/2147882

出现此问题需满足的条件

您使用了nginx作为反向代理
您自定义header的key中使用了“_”,而不是“-”
原因

//在ngx_http_parse_header_line()函数中
if(ch == ‘_’) {
    if (allow_underscores)
    Unknown macro: {
        hash = ngx_hash(hash, ch);
        r->lowcase_header[i++] = ch;
        i &= (NGX_HTTP_LC_HEADER_LEN -- 1);\
    } else
    Unknown macro: {
        r->invalid_header = 1;
    }
以上代码说明nginx对header name的字符做了限制,默认underscores_in_headers为off,表示如果header name中包含下划线,则忽略掉。

解决办法

您可以将您程序中的“_”都改为“-”
您也可以在nginx配置中设置underscores_in_headers on;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-26 06:53 , Processed in 0.069521 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表