2014-01-05 48 views
3

不同的領域我有一個Windows Azure的VM這是對我上運行兩個獨立的webapps在Azure提供的域名myserver.cloudapp.net運行2個網站從一個單一的Azure的VM

在此VM單個Tomcat實例,bobfred。我已將其設置爲可在myserver.cloudapp.net/bob分別訪問myserver.cloudapp.net/fred

但是,我不希望用戶知道這些網站在同一臺服務器上的不同上下文中運行。我有兩個域註冊,www.bob.comwww.fred.com,我想用於每個單獨的站點。

這就是我要去的地方 - 我可以找到大量關於如何將單個自定義域映射到單個Azure VM域的資源,但谷歌,因爲我可能找不到任何關於如何映射一個或更多自定義域到單個Azure域下的特定上下文。

我很新的web服務器和DNS配置等,所以我甚至不太確定我應該在什麼級別上進行這種映射。也許這是我可以在虛擬機本身上重寫的東西,或者最好是在我的自定義域的DNS設置中執行。我基本上都是在學習這些東西的時候學習的,所以任何指針,技巧,提示或者指導教程的鏈接都可以讓我更進一步。

當然,我可以去「啞巴」的方式,並支付了兩個虛擬機天青但這些網站不需要太多咕嚕運行和感覺就像承認失敗;-)

回答

4

好了,所以後幾個小時的玩耍,我有這個工作。

我的解決方法是通過在DNS設置來配置CNAME每個www.bob.comwww.fred.com的是myserver.cloudapp指向我的兩個自定義域在Azure虛擬機領域。淨

然後,在我的Azure VM上,我使用IIS URL重寫來將http請求路由到本地Tomcat實例上的相應上下文 - 我可以通過查看請求標頭中的主機名並選擇正確的內部url在正確的應用上下文/bob/fred)的基礎上。

有一整套特殊的應用程序怪癖,我不得不摔跤 - 從零開始設置這一切,沒有以前的經驗與IIS沒有在公園散步 - 但如果任何人有這個問題,我' d建議首先檢查this very useful article,其中包含足夠的信息以解決類似於我所用的解決方案。

令人驚訝的是,當您已經有一個解決方案,並確切知道谷歌是什麼的時候,您總能找到最好的howtos :-)

相關問題