我安装了两个后端服务,它们应该由第三个 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 构建后,代理配置正确,现在运行良好。
这意味着问题中列出的配置也是有效的