【Nginx】负载均衡当其中一台服务器宕机之后

搭建一个简单的负载均衡,然后关闭其中一台再来访问,会发现我们的浏览器卡住一直转圈圈,过了很久才会显示结果。由此我们可以得出结论Nginx负载的时候如果其中一台服务挂掉了,它会把请求转发到另一个可以提供服务的机器,其中这之间的超时等待默认是60s。我们可以通过这一个配置去改变这个时间,proxy_connect_timeout 定义与代理服务器建立连接的超时。

请注意,此超时通常不能超过75秒。

复制代码
    upstream cluster{
    	server nacos-node1.strongman.cluster.local:8848;
        server nacos-node2.strongman.cluster.local:8848;
        server nacos-node3.strongman.cluster.local:8848;
        server nacos-node4.strongman.cluster.local:8848;
    }

    server {
        listen       80;
        server_name  localhost;
        location / { 
          proxy_pass http://cluster;
          proxy_set_header Host $http_host;
          
          # 添加 HTTP 响应头,以便知道负载到哪台服务器上
          add_header backendIP $upstream_addr; 
          # 响应码
          add_header backendCode $upstream_status; 
          
          # 服务器与被代理服务连接超时时间,代理超时
          proxy_connect_timeout 60s;
        } 
    }

参考配置

Module ngx_http_proxy_module

相关推荐
NicolasCage6 小时前
解决苍穹外卖WebSocket连接失败的问题
nginx
维尔切10 小时前
Nginx 反向代理与负载均衡
运维·nginx·负载均衡
Justin_191 天前
nginx反向代理与缓存功能
运维·nginx
苹果醋31 天前
数据结构其一 线性表
java·运维·spring boot·mysql·nginx
java干货1 天前
我用Nginx做了负载均衡,还需要API网关吗?
运维·nginx·负载均衡
東雪蓮☆2 天前
LNMP 环境部署 WordPress
linux·运维·mysql·nginx·php
-dcr3 天前
22.Nginx 服务器 LNMP项目
运维·服务器·nginx·php·lnmp
東雪蓮☆3 天前
Docker 搭建 Nginx 并启用 HTTPS 具体部署流程
运维·nginx·docker
zz-zjx3 天前
Nginx 生产级知识架构树(按流量路径 + 运维维度组织)含生产常见错误
运维·nginx·架构
爱尚你19934 天前
Nginx proxy_pass 末尾斜杠(/)
服务器·网络·nginx