Nginx 代理未找到后端服务

Nginx 代理未找到后端服务

我安装了两个后端服务,它们应该由第三个 Nginx 服务代理。

我已经成功部署了 3 项服务,但是由于某种原因,我无法让 nginx 看到其他 2 项服务给出错误:

获取/HTTP/1.1” 502 560

[错误] 8#8: *1 连接到上游时没有活动的上游

我尝试将所有服务更改为它们自己的网络,但问题似乎并未解决。

添加我的docker-compose.yml

version: "3"
services:
    nginx_web_1:
        image: nginx:1.17
        volumes:
            - "./files_1:/usr/share/nginx/html:ro"

    nginx_web_2:
        image: nginx:1.17
        volumes:
            - "./files_2:/usr/share/nginx/html:ro"

    nginx_balancer:
        build: ./balancer
        ports:
            - 5000:80
        depends_on:
            - nginx_web_1
            - nginx_web_2

这就是我配置代理的方式:

文件已移至/etc/nginx/conf.d/默认.conf

upstream backend_hosts {
    server nginx_web_1;
    server nginx_web_2;
}

server {
    listen 80;
    server_name localhost;
    location / {
      proxy_pass http://backend_hosts;
    }
}

答案1

经过一番调查,问题在于我只运行了 docker-compose up/down,而没有重建我的 Nginx 代理映像。

清理并运行 docker 构建后,代理配置正确,现在运行良好。

这意味着问题中列出的配置也是有效的

相关内容