【BUG】Nginx使用upstream后端接口报 400

增加Nginx配置后:

复制代码
upstream data_server {
        server 192.168.1.86:20001;
}

原因:

  • 直连后端(如 http://192.168.1.86:18295/xxx),浏览器或 Postman 自动将 Host 设为 192.168.1.86:18295,后端能识别。
  • 走 Nginx,如果不做特殊配置,Nginx 默认将 Host 设为 upstream 的名字(即 data_server)。后端收到 Host: data_server,发现这不是一个合法的域名或 IP,直接报错 400。

解决方法:

在 location 中强制传递真实的 Host 给后端。

复制代码
location /data/ {
    # 添加这一行,将客户端请求的原始 Host 传递给后端
    proxy_set_header Host $host; 
    
    # 或者,如果后端服务监听的是特定端口且依赖端口,可以使用:
    # proxy_set_header Host $host:$server_port;
    
    # ... 其他配置
    proxy_pass http://data_server/ ;
}
相关推荐
2601_966799046 小时前
酷嗨米J300:一台相机同步推三平台
运维·服务器·负载均衡
AI行业说7 小时前
2026年清洁耗材智能模板机品牌排名:扫地机拖布、美妆粉扑工厂自动化选型指南
运维·自动化
派大鑫wink7 小时前
Dify 工作流搭建操作手册:以信息化运维周报自动生成为例
运维
志栋智能7 小时前
超自动化运维:支持微服务架构的运维模式
运维·架构·自动化
资深电气设计7 小时前
技术分析:空调机房水泵性能优势与系统适配性研究——水力能效、结构集成与智能运维维度
大数据·运维
Brilliantwxx7 小时前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器
疯狂打码的少年8 小时前
【数据库技术】关系完整性约束(实体/参照/用户定义)
运维·服务器·数据库·笔记
小谈不敲代码8 小时前
【12-kubenetes的持久化存储】
运维·kubernetes
梦想的旅途28 小时前
企业微信API如何实现自动化办公
运维·自动化·企业微信
刚入门的大一新生8 小时前
Linux-命令行参数和环境变量
linux·运维·服务器