2009-07-14 153 views
1

我之前問過這個問題,我已經知道如何使用ISA Server 2006來實現此功能,我當前的問題是如何實現相同的功能,而不使用ISA Server,但只使用純IIS。有沒有人有任何想法?IIS網站重定向問題

我的開發/部署環境是IIS + Windows Server 2003/2008 + .Net + VSTS2008 + C#。我有幾個網站,他們每個人都有穩定和beta版本,例如,我有beta版本訂單系統和穩定版本訂單系統,就像購買系統一樣。我在4個不同的物理機器(機器名稱labvm1,labvm2,labvm3和labvm4)上部署了4個系統。

我的要求是,我想有一個共同的URL模式來訪問不同的系統,比如,

http://www.mycorp.com/order/beta 
http://www.mycorp.com/order/stable 
http://www.mycorp.com/purchase/beta 
http://www.mycorp.com/purchase/stable 

但由於4個系統部署在不同的機器/ DNS名稱4臺不同的物理機器,我怎麼能將具有不同後綴的相同域(http://www.mycorp.com)映射到不同的物理在線系統?

由於事先 喬治

回答

1

一種方式是建立一個URL重寫模塊爲根服務器的代理功能的(在www.mycorp.com)。我所知道的是來自Helicon Tech,ISAPI Rewrite的商業產品。檢查文檔http://www.isapirewrite.com/docs/#RewriteProxy。他們基本上使用相同的語法實現了Apache Rewriting mod中的所有功能。

你會喜歡設定規則: RewriteProxy ^購買/測試/(.*)$ http://192.168.0.12:8080/ $ 1

+0

酷,林依晨,以及是否有任何內置的功能或者IIS 6或IIS 7可能達到我的目的,沒有其他ISAPI模塊? :-) – George2 2009-07-14 04:13:00

+0

嗨阿里爾,我發現使用IIS內置重定向功能時,另一個問題在IE瀏覽器中的目標網址變成內部機器名稱(如labvm1),任何想法改變它顯示外部網站(www.mycorp .com)的名字?我想要進行這種重定向的目的是我需要隱藏內部機器名稱。 – George2 2009-07-14 07:34:58

1

IIS7 URL重寫模塊目前不支持反向代理功能,所以你最好使用ISAPI-Rewrite 3Helicon Ape mod-proxy模塊。對於下ISAPI_Rewrite的配置將是類似於沙龍提供:

RewriteBase/
RewriteProxy ^purchase/beta/(.*)$ http://192.168.0.12:8080/$1 

而且配置爲猿(猿是專門爲IIS7設計)是:

ProxyRequests Off 
<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 
ProxyPass /purchase/beta/(.*) http://192.168.0.12:8080/$1 
0

IIRF V2.0支持反向代理功能。使用此功能,您可以將一組服務器映射到單個URI名稱空間,從而隱藏映射資源的內部機器名稱。

IIRF是免費的,並與工作IIS6和7