我在一个docker compose中设置了两个docker容器。现在,我想使用nginx的proxy_pass功能来代理从nginx到其他容器的连接。
docker compose
(wn, hn) + (i, j)
nginx conf
version: '3.4'
services:
reverse_proxy:
image: nginx:alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./error.log:/var/log/nginx/error.log
ports:
- "8081:8081"
apigateway.api:
image: ${REGISTRY:-configurator}/apigateway.api:${TAG:-latest}
build:
context: .
dockerfile: src/Services/ApiGateway/ApiGateway.Api/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
ports:
- "58732:80"
当我现在访问http://localhost:8081/configurator-api-gw/swagger时,我在error.log中遇到以下错误。我也尝试了不同的方法和其他一些示例,但是我不明白为什么它不起作用。
2019/03/08 06:30:29 [错误] 7#7:* 6 connect()失败(111:连接 拒绝)连接到上游时,客户端:172.28.0.1,服务器:, 请求:“ GET / configurator-api-gw / swagger HTTP / 1.1”,上游: “ http://172.28.0.5:58732/swagger”,主机:“ localhost:8081”
答案 0 :(得分:0)
我已经解决了问题。问题出在服务器apigateway.api:58732;此处需要在Docker网络内部将端口80用作端口。