【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

相关推荐
千夜啊12 小时前
Nginx 运维开发高频面试题详解
运维·nginx·运维开发
@_@哆啦A梦1 天前
Nginx知识
运维·nginx
繁梦溪2 天前
在Ubuntu子系统中基于Nginx部署Typecho
linux·nginx·ubuntu
千夜啊2 天前
nginx目录结构和配置文件
运维·nginx
苹果醋33 天前
Win10安装MySQL、Pycharm连接MySQL,Pycharm中运行Django
运维·vue.js·spring boot·nginx·课程设计
苹果醋34 天前
MySQL查询优化(三):深度解读 MySQL客户端和服务端协议
java·运维·spring boot·mysql·nginx
清欢渡hb4 天前
使用 Docker + Nginx + Certbot 实现自动化管理 SSL 证书
nginx·docker·自动化
m0_748241234 天前
如何将Vue项目部署至 nginx
前端·vue.js·nginx
躲在没风的地方5 天前
多级缓存(亿级并发解决方案)
java·redis·nginx·缓存·tomcat·springboot
清风细雨_林木木5 天前
Nginx 开发总结
运维·nginx