网站首页 > 博客文章 正文
背景
在日常的开发中,我们有时候会在http请求头中设置一些自定义的字段,比如这种格式x_token, x_ticket, x_uid, x_version,app_id等,这些字段中都含有下划线。 但后端程序获取头部信息时,会取不到对应的值。
场景复现x_test 去哪儿了?
www@SD-20200928IIIF:~$ curl --location --request GET 'http://localhost/test/header/get-header.php' \
> --header 'x_test: xxxxx' \
> --header 'y-test: yyyyy'
{
"post": [],
"header": {
"y-test": "yyyyy",
"user-agent": "curl\/7.68.0"
}
}
原因:
其实nginx对header name的字符做了限制,默认 underscores_in_headers 为off。
当是off的时候,忽略在客户端请求头字段中设置的下划线参数。名称包含下划线的请求标头字段将被标记为无效,并受ignore_invalid_headers指令的约束 。
之所以为off,其实官方也是不推荐采用下划线方式的。
解决办法
方法一:
header中自定义变量名时不要用下划线
个人比较推荐这种方式。常见的header变量都是遵循这种方式,例如:Content-Type,Content-Length,Accept-Ranges等。
方法二:
在nginx.conf中加上underscores_in_headers on配置
http {
...
underscores_in_headers on;
}
猜你喜欢
- 2025-01-24 Nginx高级篇:从原理到实战,彻底搞懂Nginx
- 2025-01-24 Nginx 全面攻略:动静分离、压缩、缓存、黑白名单、跨域、高可用
- 2025-01-24 Linux中内网或者没网时安装软件的两种方式
- 2025-01-24 Nginx的学习,完全了解Nginx(nginx最全教程)
- 2025-01-24 Nginx完全指南--内容解析(七)(nginx1)
- 2025-01-24 记一次nginx无法转发到后端的问题
- 2025-01-24 Nginx 域名与证书配置详解(nginx和域名配置)
- 2025-01-24 写给高级前端的 Nginx 知识,一网打尽
- 2025-01-24 ingress-nginx常用注解指南(nginx ingress部署与测试)
- 2025-01-24 C++后端开发必须彻底搞懂Nginx,从原理到实战(高级篇)
你 发表评论:
欢迎- 380℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 378℃IT全明星|IntelliJ IDEA学习笔记(四、idea中怎么创建maven项目)
- 375℃用AI Agent治理微服务的复杂性问题|QCon
- 366℃初次使用IntelliJ IDEA新建Maven项目
- 361℃Maven技术方案最全手册(mavena)
- 357℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 354℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 354℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)