nginx反向代理proxy_set_header自定义header头无效
公司使用nginx作为负载均衡,有时候需要自定义header头发送给后端的真实服务器. 想过去应该是非常的简单的事情.
例子如下:
设置代理服务器ip头
1
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
然后自己在自定义个header,remote_header_test,如下:
1
|
proxy_set_header remote_header_test "123123123";
|
接着后端真实服务器打开www.ttlsa.com/nginx_header.php
源代码是简单的phpinfo
1
2
3
4
5
|
<?php
phpinfo();
?>
|
在phpinfo结果页面中搜索刚才设置的头部,发现没有找到,网上查找资料,才发现原来nginx会忽略掉下划线的头部变量.于是改成如下:
1
|
proxy_set_header remoteheadertest "123123123";
|
再次打开www.ttlsa.com/nginx_header.php,搜索remoteheadertest,有内容. 看来果真不能用下划线. 然后改成'-',如下:
1
|
proxy_set_header remote-header-test "123123123";
|
打开页面,搜索到的头部是remote_header_test. 自动转换成下划线了.
如果想要支持下划线的话,需要增加如下配置:
1
|
underscores_in_headers on;
|
可以加到http或者server中
语法:underscores_in_headers on|off
默认值:off
使用字段:http, server
是否允许在header的字段中带下划线
实例配置:
1 2 3 4 5 6 7 8 9 | server_name dev.fashio*****.cn; underscores_in_headers on; location /bi-api/ { proxy_pass http: //192 .168.0.155:8080/; proxy_set_header Host $host; |
分类:
nginx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端