
我想解釋一下我們提出問題的場景:
我們有網域:
- www.example.com
以及以下子網域:
- 論壇.example.com
- Portal.example.com
- crm.example.com
以及託管在單獨伺服器上的以下應用程式:
- 論壇-伺服器IP:1.1.1.1,港口: 1010
- 入口網站-伺服器IP:2.2.2.2,港口: 2020
- 客戶關係管理-伺服器IP:3.3.3.3,港口: 3030
所有伺服器都在防火牆後面運行
另一方面,我們只有一個公用 IP 位址:
10.10.10.10
因此,要將本地伺服器與公共 IP 連結起來,我們可以在防火牆中建立虛擬主機條目並建立公共端口,如下所示:
- 10.10.10.10:1010 將指向 1.1.1.1:1010
- 10.10.10.10:2020 將指向 2.2.2.2:2020
- 10.10.10.10:3030 將指向 3.3.3.3:3030
然後我們將在 DNS ZONE 中配置以下 A NAME 記錄:
- www.example.com - 10.10.10.10
所以去論壇應用程式中,使用者必須輸入:
- www.example.com:1010
等等:
- www.example.com:2020 的入口網站
- www.example.com:3030 為客戶關係管理
現在,我們不想使用連接埠號,而是使用子網域,例如,如果使用者想要存取論壇,他只需鍵入:
- 論壇.example.com
對於其他應用程式也是如此。
是否可以在不為每個應用程式購買新的公共 IP 位址的情況下完成此操作?
抱歉發了這麼長的貼文。謝謝
答案1
我認為您的各種應用程式都可以透過 HTTP/HTTPS 存取。在這種情況下,您有幾個常見的選擇。
- 讓您的 Web 伺服器代理服務的其他三個子網域(www 也是一個子網域)。
- 安裝 HTTP/HTTPS 代理程式來代理所有子網域(以及網域)。
您可以先選擇一個選項,然後再變更為另一個選項。某些應用程式容器具有用於 Web 伺服器的插件,可新增特定於容器的代理程式標頭。
如果您使用的是 HTTPS。您需要為憑證上的每個網域提供一個主題備用名稱。或者,您可以在前端(Web 伺服器或代理)中使用 SNI 向用戶端(僅限支援 SNI 的用戶端)提供正確的憑證。