【发布时间】:2017-09-01 14:23:30
【问题描述】:
我会试着解释并画出来
我想要达到的目标:
对不起,糟糕的油漆图。现在,如果我从 10.10.10.0 网络点击它,它就可以完美运行。问题是 DNS 将 jenkins.network.com 解析为 10.10.10.0 网络。我想通过代理返回,因为它具有 SSL 终止以到达 sonarqube 服务器。有没有一种很好的方法来实现这一点,以保持代理后面的服务?我是否需要创建第二个带有 docker 网络的 DNS 服务器?是否可以通过 consul 让外部和内部服务都指向同一个域名?
编辑: 做这样的事情会奏效,因为一切都通过代理。因此,当詹金斯击中声纳时,它认为它的 ip 真的是 10.10.10.51 并且它可以通过那里击中它。
172.16.10.2 ---- 172.16.10.1 ----- 10.10.10.50 ----- 代理然后接管路由到正确的位置(172.16.10.3:8080 或其他东西)
【问题讨论】:
-
那么你能解释一下 dig 命令的问题吗?
-
@TarunLalwani 让我尝试扩展它。基本上它可以正常工作。我可以通过代理访问服务器。问题出在内部 docker 网络中。当解析 sonarqube.mynetwork.com 时,它解析为 10.10.10.50。 Docker 容器使用主机 DNS 来获取此信息。所以 jenkins 在 10.10.10.50 获得了 sonarqube 地址,但是因为它只对 172.16.10.1 的代理关闭,所以它试图访问 10.10.10.50 的代理而不是 172.16.10.1 地址,你找不到路由。这有帮助吗?
-
所以如果我的问题正确,你想在 jenkin 服务器
jenkins.network.com上解析为172.16.10.1?如果是,则发布您的docker-compose文件(如果使用任何文件) -
@tarun lalwani 正确。因此,从外部网络它解析为 10 地址并在内部解析为 172 地址。我现在无法访问该文件,但希望我能尽快找到机会,我会再次联系您。谢谢!
标签: docker networking proxy consul