我們的路由器後面有兩個應用程式正在偵聽連接埠 80/443。路由器只有一個有效的 IP 位址。第一個應用程式是郵件伺服器,第二個應用程式是我們的原始碼控制伺服器。
在這種情況下,一種解決方案是將每個應用程式設定為偵聽不同的連接埠。這對我們來說是不可取的。
因此,我們有一台 Windows/IIS 伺服器接收所有 Internet 流量以充當某種代理。
為此,我們創建了兩個網站。
我們創建了第一個站點,如下所示:
- 綁定到
mail.mydomain.com:80
和autodiscover.mydomain.com:443
。 - HTTP 重新導向到
http://192.168.50.12
- 重新導向
http
至https
第二個站點如下:
- 勢必
scm.mydomain.com:80
- HTTP 重新導向到
http://192.168.50.85
兩個網站在重新導向時都會傳送 HTTP-301 狀態碼。
第一個在內部網路和外部網路上都運作良好。
第二個可以從內部網路運行,但不能從外部網路運行。原因是,當我們瀏覽第一個網站時http://mail.mydomain.com
,瀏覽器網址列中的 URL 沒有變化,但當瀏覽第二個網站時,URL 發生了變化,http://scm.mydomain.com
顯然http://192.168.50.85
從外部不起作用。
所有主機(郵件、自動發現、scm)在我們的外部 DNS 中定義為指向我們擁有的唯一有效 IP 位址的 A 記錄。
考慮到兩個網站的配置方式完全相同,為什麼會發生這種情況?