NGINX反向代理不适用于其他Docker容器

时间:2019-03-08 07:14:38

标签: docker-compose reverse-proxy

我在一个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”

1 个答案:

答案 0 :(得分:0)

我已经解决了问题。问题出在服务器apigateway.api:58732;此处需要在Docker网络内部将端口80用作端口。