2015-04-06 72 views
1

利用多种Docker容器(微服务),我有一个GCE(谷歌计算引擎)的服务器与Nginx的/ Apache Web服务器在端口80,列出将服务于网站上。同时,我有多个与Docker容器在同一服务器上运行的微服务。每个容器将在适当的本地IP地址上提供一个网站,以及我将它绑定到localhost:PORT。我不想将端口绑定到公共IP地址,因为它会公开地将微服务公开给外部世界。管理和在一台服务器

现在的问题是,我要通过嵌入容器的网站,在Web服务器的端口80上运行服务的网页。因为与我们的嵌入代码由浏览器执行,我不能使用本地-IP(172.17.0.x)或本地主机:端口在Python/HTML代码。

现在我该怎样嵌入容器网站服务于用户内部本地运行的微服务的网页?

例如:

我的服务器的公网IP:104.145.178.114 该网站从供应:104.145.178.114:80 内同一服务器上我们有多个微服务运行在本地IP上,如172.17.0.1172.17.0.2等。每个容器都有一个服务器在其内部运行,服务器页面将在172.17.0.1:8080/test.html以及其他容器也类似。现在,我需要将此页test.html嵌入到由Nginx/Apache网络服务器提供的另一个网页104.145.178.114而不将内部/本地IP端口暴露给公众。

我想听到这个问题

+0

伙计们请问问题如果你不明白,或者如果我问的任何错误。简单地投票我的问题是不是真的有帮助。 –

回答

1

我假设Nginx已经获得所有的内部泊坞窗IPS(微服务)的建议和替代解决方案。除非我失去了一些东西,proxy_pass(http://nginx.org/en/docs/http/ngx_http_proxy_module.html)应该适合你。你可以承担一定的(外部可用)URL模式来代理你的微服务容器没有微服务端口暴露给世界。

相关问题