Nginx使用upstream后端接口报 400

 更新时间:2026年04月10日 08:31:57   作者:旅途开发日记  
本文主要介绍了Nginx使用upstream后端接口报 400,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

upstream模块介绍

Nginx的负载均衡功能依赖于ngx_http_upsteam_module模块,所支持的代理方式包括proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和grpc_pass。

gx_http_upstream_module模块允许Nginx定义一组或多组服务组,使用的可以通过proxy_pass代理方式把网站的请求发送到事先定义好的对应upstream组的名字上。upstream模块可以实现负载均衡,而且在一个节点故障的时候,配置了upstream时可以自动切换到正常工作的节点。

增加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/ ;
}

到此这篇关于Nginx使用upstream后端接口报 400的文章就介绍到这了,更多相关Nginx使用upstream报 400内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx部署多前端项目的几种方法

    nginx部署多前端项目的几种方法

    最近一台服务器要配置多个前端项目,个人总结了3种方法来实现在一台服务器上使用nginx部署多个前端项目的方法。需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Nginx日志按天分割实战

    Nginx日志按天分割实战

    本文主要介绍了Nginx日志按天分割实战,方便快速按照天的维度分析以及查找报错定位,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • 聊聊Django+uwsgi+nginx服务器部署问题

    聊聊Django+uwsgi+nginx服务器部署问题

    这篇文章主要介绍了Django+uwsgi+nginx服务器部署的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Nginx设置HttpOnly Secure SameSite参数解决Cookie信息丢失

    Nginx设置HttpOnly Secure SameSite参数解决Cookie信息丢失

    本文主要介绍了Nginx中Cookie缺少SameSite属性的问题,并详细解释了HttpOnly、Secure和SameSite属性的作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • nginx的80端口无法被远程服务器访问的问题解决

    nginx的80端口无法被远程服务器访问的问题解决

    这篇文章主要介绍了nginx的80端口无法被远程服务器访问的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-07-07
  • Nginx中root和alias指令的使用与区别

    Nginx中root和alias指令的使用与区别

    root和alias是两个重要但经常令人混淆的指令,尤其用于指定资源在服务器文件系统中的位置,本文就来介绍一下两个指令的使用与区别,感兴趣的可以了解一下
    2024-08-08
  • nginx代理本地文件夹如何获取数据

    nginx代理本地文件夹如何获取数据

    本文介绍了如何在Windows上安装和配置Nginx,包括下载、解压、启动服务以及修改配置文件以实现特定功能,还提供了关于Nginx常用命令的说明,方便用户管理服务
    2025-01-01
  • 详解Nginx服务器中HTTP Headers相关的模块配置使用

    详解Nginx服务器中HTTP Headers相关的模块配置使用

    这篇文章主要介绍了详解Nginx服务器中HTTP Headers相关的模块配置使用,包括ngx_http_headers_module与它的增强版ngx_headers_more的配置使用讲解,需要的朋友可以参考下
    2016-01-01
  • 详解Nginx 工作原理

    详解Nginx 工作原理

    这篇文章主要介绍了Nginx 工作原理,帮助大家更好的理解和学习nginx,感兴趣的朋友可以了解下
    2020-10-10
  • Nginx服务器中强制使用缓存的配置及缓存优先级的讲解

    Nginx服务器中强制使用缓存的配置及缓存优先级的讲解

    这篇文章主要介绍了Nginx服务器中强制使用缓存的配置及缓存优先级的讲解,一定程度上可以帮助大家解决Nginx不缓存或缓存失效的问题,需要的朋友可以参考下
    2016-01-01

最新评论