docker nginx reverse proxy to gitlab container with built in nginx给予Connection refused

exdqitrt  于 2023-08-03  发布在  Nginx
关注(0)|答案(1)|浏览(131)

我试图使用Nginx容器作为Jfrog容器和Gitlab(启用Nginx内置)容器的反向代理来设置本地env,我可以通过Nginx(反向代理)访问artifactory容器,但当我试图通过Nginx(revrese代理)访问Gitlab容器时,我得到Connection Refused错误。
下面是我的Nginx配置:

upstream gitlab {
    server git.dev.local:8000;
} 
upstream jfrog {
    server jfrog.dev.local:8082;
}

server {
    server_name git.dev.local;
    location / {
        proxy_pass http://gitlab;
    }
}

server { 
    server_name jfrog.dev.local;
    location / {
        proxy_pass http://jfrog;
    }
}

字符串

备注

  • 将Gitlab exteranl_url设置为“git.dev.local”。
  • 我可以直接访问git.dev.local:8000没有任何问题。
  • jfrog从端口8082Map到8082,gitlab从8000Map到80。
  • Jfrog可以使用nginx反向代理访问,没有任何问题。
  • Nginx(反向代理),Gitlab和Jfrog容器都使用其主机名连接到自定义网络。
  • docker network connect --alias jfrog.dev.local general-network jfrog
  • docker network connect --alias git.dev.local general-network gitlab
[error] 42 42: *111 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.48.1, server: git.dev.local, request: "GET /api HTTP/1.1", upstream: "http://172.18.0.2:8000/", host: "git.dev.local"

nr9pn0ug

nr9pn0ug1#

使用nginx容器做反向代理时,应该将端口转发到docker端口而不是host端口,如这里所回答的。谢谢Jollege的回答。

相关问题