firemail
标题:
spring后台获取不到自定义header
[打印本页]
作者:
java
时间:
2018-10-23 17:45
标题:
spring后台获取不到自定义header
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;
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3