在设计自定义 header 时,会发现如 user_id 这样的 header 无法被后端读取到
想来中间有一层 nginx 搜了一下果然是它的影响,具体情况就不记录了,可以看参考链接。
简单记录是因为下划线可能会导致一些兼容性问题,所以 nginx 默认不允许 header 名称带下划线,但也允许手动开启。
解决方案:
1、在 http 或者 server 配置中把 underscores_in_headers 配置参数开关打开:
server {
...
underscores_in_headers on;
...
}
增加配置后,然后重启 Nginx。
2、使用破折号(-)代替下划线(_),或者统一规范直接不要使用下划线,感觉这样比较泛用,因为不一定有机会能够修改 nginx 的配置。
参考:https://zhuanlan.zhihu.com/p/335181814
标签:...,中带,http,下划线,自定义,nginx,header From: https://www.cnblogs.com/xwgli/p/18460809