我会尝试解释并画出来
我想要实现的目标:抱歉蹩脚的油漆图。现在,如果我从10.10.10.0网络点击它,它的效果非常好。问题是DNS解决了……
如何使用nginx进行反向代理? 如果我没有误会,你想听443端口 并反转到172.16.10.1 下面是一个nginx配置示例
server { listen 443; root /data/up1; location / { proxy_pass 172.16.10.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; }
希望能帮助到你
既然你没有发表你的作文。我做了一些假设。假设的构成如下
version: '3' services: nginx: image: nginx ports: - 80:80 - 443:443 depends_on: - jenkins - sonar jenkins: image: jenkins sonar: image: sonarqube
所有这些都在继续 10.10.10.50 。现在,如果您将DNS设置为 10.10.10.20 内外都是 jenkins.network.com 将解决 10.10.10.50 。但在你想要的docker网络里面 jenkins.network.com 解决了容器的IP问题。
10.10.10.50
10.10.10.20
jenkins.network.com
因此,如果以上都是正确的,那么下面是最简单的解决方案
version: '3' service: nginx: image: nginx ports: - 80:80 - 443:443 depends_on: - jenkins - sonar jenkins: image: jenkins networks: default: aliases: - jenkins.network.com sonar: image: sonar networks: default: aliases: - sonar.network.com
在nginx图像上,我可以达到 jenkins.network.com
root@be6492f18851:/# telnet jenkins.network.com 8080 Trying 172.23.0.3... Connected to jenkins.network.com. Escape character is '^]'. Connection closed by foreign host.
你可以从jenkins和sonar容器中做到这一点并获得相同的结果
的 编辑-1 强>
如果您希望DNS通过代理,您可以将别名更改为该网络
version: '3' service: nginx: image: nginx ports: - 80:80 - 443:443 depends_on: - jenkins - sonar networks: default: aliases: - sonar.network.com - jenkins.network.com jenkins: image: jenkins sonar: image: sonar