nginx-连接到上游时没有活动的上游

问题描述

我在CentOS 7服务器上安装了Nginx版本1.19.3。我的rocketchat应用程序在端口3000、3001和3002上运行。但是我的Nginx服务器无法将代理路由到Rocketchat。它给我502错误的网关错误

这是我的default.conf

# Upstreams
upstream backend {
    least_conn;
    server [::1]:3000 max_fails=3 fail_timeout=30s;
    server [::1]:3001 max_fails=3 fail_timeout=30s;
    server [::1]:3002 max_fails=3 fail_timeout=30s;
}

# HTTPS Server
server {
    listen 443 ssl http2;
    server_name example.com;
    error_log /var/log/Nginx/rocketchat.access.log;
    ssl_certificate /etc/Nginx/certs/example.com.crt;
    ssl_certificate_key /etc/Nginx/certs/example.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Nginx-Proxy true;
        proxy_read_timeout 5m;
        proxy_pass http://backend;
        proxy_redirect off;
    }
}

这是我在/var/log/Nginx/rocketchat.access.log中遇到的错误

2020/10/21 16:08:23 [error] 12532#12532: *25 no live upstreams while connecting to upstream,client: local-ip-address,server: example.com,request: "GET /favicon.ico HTTP/2.0",upstream: "http://backend/favicon.ico",host: "example.com",referrer: "https://example.com/"

我已启用3000、3001、3002,并且能够通过本地ip地址访问RocketChat。

我已经尝试了在stackoverfollow上发现的所有解决方案,但是它不起作用。有人可能是个问题吗?

解决方法

您的Rocketchat应用程序是否可以在IPv6本地主机地址:: 1或IPv4 127.0.0.1上运行/访问?

,

通过在上游将keepalive设置为8对我有用。

# Upstreams
upstream backend {
    least_conn;
    server [::1]:3000 max_fails=3 fail_timeout=30s;
    server [::1]:3001 max_fails=3 fail_timeout=30s;
    server [::1]:3002 max_fails=3 fail_timeout=30s;
    keepalive 8;

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...