2012-05-06 109 views
0

我有2個asp.net項目。一個API和一個Web客戶端項目。測試時,我需要克服相同的原產地策略,所以我不能在不同的端口上測試它們。將域映射到localhost中的IIS7虛擬目錄

我用visual studio將api映射到:http://localhost/api,但另一個項目不能映射到http://localhost/。我要求它是根的原因是因爲應用程序包含對/根的引用(表單,腳本等)。在做了一些閱讀後,我需要發佈到wwwroot,我不想這樣做。

我的下一個選項,我認爲是一個域名映射到我的虛擬目錄http://localhost/webhttp://localhost/api =>someDomain.comsomeDomain.com/api。我該怎麼做呢?編輯主機文件好好嘗試一下工作:

http://localhost/web app.com 
http://localhost/api api.app.com 

問題(解決任何一個可以爲我工作):

  1. http://localhost/http://localhost/web解決引用問題。
  2. http://localhost/中創建我的虛擬目錄; enter image description here
  3. 將域映射到localhost虛擬目錄。

回答

2

您可以在本地主機上設置「反向代理」來執行您想要的操作。

本質上它將充當中繼 - 當客戶端連接到http://localhost/api時,您的代理可以將該請求中繼到http://somedomain.com/api,然後獲得響應,然後將響應傳遞迴原始客戶端。從客戶端的角度來看,該請求正在對localhost進行,並且響應來自localhost。沒有名字服務器的擺弄。

IIS Team's announcement of Reverse Proxy

如果您有IIS6或不想使用Microsoft擴展,還有其他的選擇。 一個是IIRF

+0

我想要做的事情是在我的瀏覽器中訪問'localhost',代理將它發送到'localhost/web'。這可能與反向代理看到我試圖使用普通的'localhost'根? –

+0

是的;你可以做到這一點。您需要注意其他資源的路徑,例如html頁面引用的圖片,樣式和JavaScript。但是,是的,你可以做到這一點。 – Cheeso

相關問題