【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/ ;
}
相关推荐
Full Stack Developme7 小时前
JVM 与 Linux 交互的核心原理
linux·运维·jvm
Java识堂7 小时前
多级负载均衡架构
运维·架构·负载均衡
MXsoft6187 小时前
## 自动化巡检:从手工两小时到系统五分钟的落地实践
运维·自动化
ZLG_zhiyuan7 小时前
直击华南工博会|ZLG致远电子:EtherCAT与自动化总线应用方案动态实景呈现
运维·自动化
HackTwoHub7 小时前
最新Nessus2026.6.8版本主机漏洞扫描/探测工具Windows/Linux
linux·运维·服务器·安全·web安全·网络安全·安全架构
Nayxxu8 小时前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
三雷科技9 小时前
Claude Code 命令行完全指南:从高效交互到自动化工作流
运维·自动化·交互
正经教主10 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
小黑蛋学java11 小时前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
IVEN_12 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx