我试图使用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"
型
1条答案
按热度按时间nr9pn0ug1#
使用nginx容器做反向代理时,应该将端口转发到docker端口而不是host端口,如这里所回答的。谢谢Jollege的回答。