2015-04-06 73 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模式來代理你的微服務容器沒有微服務端口暴露給世界。