使用應用程式要求路由的試驗計劃管理
由 IIS 小組
概觀
本主題會引導讀者完成使用應用程式要求路由啟動和管理試驗或 Beta 程式的步驟。 應用程式要求路由可用來設定目標,並將適當的使用者路由至試驗網站,也可以用來限制和管理路由傳送至試驗月臺的流量。 本逐步解說著重於如何使用應用程式要求路由,根據使用者的配置檔,將特定要求路由傳送至試驗網站。
Goal
若要設定應用程式要求路由,以管理和降低啟動試驗計劃的風險。
必要條件
本逐步解說需要下列必要條件:
- Windows 2008 (任何 SKU) 或更新版本上的 IIS 7.0 或更新版本。
- Microsoft 應用程式要求路由第 1 版和相依模組。
- 至少有四部具有工作網站和應用程式的內容伺服器。 兩部伺服器將用來模擬生產月臺,另外兩部伺服器將模擬試驗月臺。
- Microsoft Internet Explorer 的替代瀏覽器,例如 Firefox,安裝在已安裝 .NET 3.5 的電腦上。 (此設定僅供測試之用。
請遵循本檔中所述的步驟來安裝應用程式要求路由。
另一個先決條件是,讀取器已定義和設定兩個伺服器陣列,方法是遵循定義和設定應用程式要求路由 (ARR) 伺服器群組中所述的步驟。 一個伺服器陣列將代表生產環境,另一個伺服器陣列則代表試驗環境。
步驟 1 – 變更 URL 重寫規則,以根據使用者配置檔路由要求
在此步驟中,URL 重寫規則會變更,因此只有已安裝 .NET 3.5 且使用 Microsoft Internet Explorer (IE) 的使用者會路由傳送至試驗網站,定義為 pilotSiteServers。 所有其他項目都會路由傳送至生產網站,定義為 productionSiteServers。
若要使用 UI 變更 URL 重寫規則:
啟動 IIS 管理員。
選取伺服器陣列 ,試驗SiteServers。
顯示下列圖示:
按兩下 [ 路由規則]。
由於此案例牽涉到具有 HTTP 要求標頭條件式比對的多個伺服器陣列,因此會使用公開其他選項的 URL 重寫 UI 進行變更。 按兩下 [進階路由] 底下的 [URL 重寫]。
請注意,已建立兩個規則,但必須加以變更。
此逐步解說中規則的順序很重要。 如果ARR_productionSiteServers_loadbalance高於ARR_pilotServers_loadbalance,您可以在選取規則之後使用上移或下移來變更規則的順序。
選取 [ARR_pilotSite_Servers_loadbalance],然後按兩下 [動作] 窗格中的 [編輯...]。
應指定具有 .NET 3.5 之 IE 的用戶端,以移至 pilotSiteServers 伺服器陣列。 藉由新增條件來執行此動作。 按兩下 [ 新增條件],然後按兩下 [ 新增...]。
輸入 {HTTP_USER_AGENT} 作為 條件輸入 ,並將 *MSIE* 輸入為 模式。 此條件會檢查用戶端是否使用 IE。
新增另一個條件來檢查 .NET 版本。 單擊 [新增...],然後輸入 {HTTP_USER_AGENT} 作為 [條件輸入 ],並將 *.NET CLR 3.5* 輸入為 模式。
最後,取消核取 [ 停止處理後續規則 ] 複選框,然後按兩下 [ 套用 ] 以儲存變更。
如上所述,規則的順序很重要。 這是因為 URL 重寫會在取消選取後續規則時 ,依序處理規則 。 因此,在此情況下,第一個規則 會先考慮ARR_pilotSiteServers_loadbalance。 此規則會嘗試比對用戶端是否使用 IE,並已安裝 .NET 3.5。 如果是,則會將要求轉送至 pilotSiteServers 伺服器陣列。 由於取消核取 [ 停止處理後續規則 ] 複選框,它會處理第二個規則 ,ARR_productionSiteServers_loadbalance,這會將所有剩餘的要求路由傳送至 productionSiteServers 伺服器陣列。
若要使用命令行變更 URL 重寫規則:
使用 系統管理員 許可權開啟命令提示字元。
瀏覽至
%windir%\system32\inetsrv
。若要變更 ARR_pilotSiteServers_loadbalance規則以在 HTTP_USER_AGENT 中檢查 IE 和 .NET 3.5,請輸入:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost
若要取消選取停止處理ARR_pilotSiteServers_loadbalance的後續規則,請輸入:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False" /commit:apphost
摘要
您現在已成功變更 URL 重寫中的規則,並利用應用程式要求路由,僅將一部分使用者路由傳送至試驗網站。 如需其他應用程式要求路由屬性和功能,請參閱其他應用程式要求路由 逐步解說。