[英]Nginx on Docker (Connection Refused while connecting to upstream)
当我尝试连接到我的反向代理时,我不断收到此错误:
2022/09/20 01:06:43 [错误] 25#25: *5 connect() 失败(111:连接被拒绝),同时连接到上游,客户端:xxxx,服务器:localhost,请求:“GET /sdr_user HTTP/ 1.1”,上游:“http://127.0.0.1:59524/values”,主机:“localhost:9191”
2022/09/20 01:06:43 [警告] 25#25: *5 上游服务器在连接到上游时暂时禁用,客户端:xxxx,服务器:localhost,请求:“GET /sdr_user HTTP/1.1”,上游:“ http://127.0.0.1:59524/values”,主机:“localhost:9191”
2022/09/20 01:06:43 [错误] 25#25: *5 connect() 失败(111:连接被拒绝),同时连接到上游,客户端:xxxx,服务器:localhost,请求:“GET /sdr_user HTTP/ 1.1”,上游:“http://127.0.0.1:59524/values”,主机:“localhost:9191”
2022/09/20 01:06:43 [警告] 25#25: *5 上游服务器在连接到上游时暂时禁用,客户端:xxxx,服务器:localhost,请求:“GET /sdr_user HTTP/1.1”,上游:“ http://127.0.0.1:59524/values”,主机:“localhost:9191”
我尝试过搜索,它说要定义我在 default.conf 文件中已经拥有的上游服务器,如下所示:
upstream api_server {
server localhost:59524;
}
server {
listen 80;
server_name localhost;
location /sdr_user{
proxy_pass http://api_server/values;
}
}
我的反向代理位于另一个容器中,与我的其他项目分开。 但是,当我直接访问 localhost:59524 时,我可以毫无问题地访问该链接。
我是否缺少其他配置?
当您使用容器时, localhost
没有任何意义。
If you have a docker-compose.yml with 2 services: nginx and the application, then your nginx sees the application by the name of the service defined in docker-compose.yml
例子:
docker-compose.yml
version: '3'
services:
svc1:
image: nginx
ports:
- "8080:80"
volumes:
- "./default.conf:/etc/nginx/conf.d/default.conf:ro"
svc2:
image: <some app>
(无需为 svc2 暴露端口)
您的default.conf
应如下所示:
upstream api_server {
server svc2:59524;
}
server {
listen 80;
server_name localhost;
location /sdr_user{
proxy_pass http://api_server/values;
}
}
(假设您的应用程序在容器内的端口 59524 上运行)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.