自定义 http header 名称中带下划线时,可能会被 nginx 忽略删除
在设计自定义 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
输了你,赢了世界又如何...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-10-12 在 npm run build 时遇到报错 [BABEL] No "exports" main defined in
2021-10-12 记录一个微软补丁下载站
2020-10-12 sqlserver 通过判断执行的一些语句记录
2020-10-12 .net core 在 linux 系统下执行 sql server 查询,高并发负载时,可能会出现请求超时的异常(Execution Timeout Expired.)