木灵鱼儿

木灵鱼儿

阅读:303

最后更新:2022/10/04/ 3:11:45

Nginx默认不支持带下划线的头信息

前言

最近国庆了,由于主要计划被迫放弃,所以只能走点次要计划,就是将个人全栈开发的书签系统移动到其它服务器上,主要还是因为财力问题,无法供给多台服务器,腾讯云也没有什么好活动,全是老用户与狗不得参与系列。

无奈的搬运,其中最简单的是项目打包带走,数据库的还原,站点的配置,其中我就遇到了个贼奇葩的问题,就是我的头信息总是获取不到。

一开始我是以为是我的反代服务的问题,因为是nodejs的后端服务,如果想要通过域名访问api就不得不通过反代的方式来使用。

反代是将a的请求接受后自己再发给真实服务,然后将真实服务的返回再返回给a,其中我们知道一个xhr请求是有很多参数的,其中header头信息也是一种。

如果我们的反代服务没有将header转发给真实服务,比如安全过滤啥的,这就会导致我们真实服务器参数获取失败而报错。

所以我一直在这块找解决方案,找了一堆又一堆啊,都没有用。

最后看到这么一条说明:nginx默认对header中的key不支持下划线;我转念一想,我草,我的key不就是带下划线嘛!

于是乎我在nginx的配置中增加了一个配置,问题就解决了。

解决方法

在nginx中配置一个:

underscores_in_headers on;

问题就解决了。

由于我使用的是宝塔,所以这里说一下具体步骤:

打开宝塔的nginx管理,注意不是单个网站的管理,因为我们需要修改nginx的http模块,然后找到配置修改,在如下位置增加一下:

保存后重载下配置或者重启下nginx即可。

此时问题解决。

版权申明

本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

关于作者

站点职位 博主
获得点赞 0
文章被阅读 303

相关文章

目录树