共用方式為


使用應用程式要求路由的試驗計劃管理

由 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 重寫規則:

  1. 啟動 IIS 管理員。

  2. 選取伺服器陣列 ,試驗SiteServers

  3. 顯示下列圖示:

    伺服器陣列窗格中圖示的螢幕快照。

  4. 按兩下 [ 路由規則]。

  5. 由於此案例牽涉到具有 HTTP 要求標頭條件式比對的多個伺服器陣列,因此會使用公開其他選項的 URL 重寫 UI 進行變更。 按兩下 [進階路由] 底下的 [URL 重寫]。

    路由規則中進階路由區段下U R L重寫的螢幕快照。

  6. 請注意,已建立兩個規則,但必須加以變更。

    [U R L 重寫] 窗格的螢幕快照,其中包含預設的默認規則。

  7. 此逐步解說中規則的順序很重要。 如果ARR_productionSiteServers_loadbalance高於ARR_pilotServers_loadbalance,您可以在選取規則之後使用移或移來變更規則的順序。

  8. 選取 [ARR_pilotSite_Servers_loadbalance],然後按兩下 [動作] 窗格中的 [編輯...]。

    R R 試驗站台伺服器的 [編輯規則] 窗格的螢幕快照,其中已選取預設設定。

  9. 應指定具有 .NET 3.5 之 IE 的用戶端,以移至 pilotSiteServers 伺服器陣列。 藉由新增條件來執行此動作。 按兩下 [ 新增條件],然後按兩下 [ 新增...]。

    空白 [新增條件] 對話框的螢幕快照。

  10. 輸入 {HTTP_USER_AGENT} 作為 條件輸入 ,並將 *MSIE* 輸入為 模式。 此條件會檢查用戶端是否使用 IE。

    條件輸入為大括弧 H T T P 底線 USER 底線代理程式大括弧和圖樣作為星號 M I S E 星號的螢幕快照。

  11. 新增另一個條件來檢查 .NET 版本。 單擊 [新增...],然後輸入 {HTTP_USER_AGENT} 作為 [條件輸入 ],並將 *.NET CLR 3.5* 輸入為 模式

    另一個條件的螢幕快照,其中模式為星號點 NET 空間 C L R 空間 3 點 5 星號。

  12. 最後,取消核取 [ 停止處理後續規則 ] 複選框,然後按兩下 [ 套用 ] 以儲存變更。

    [動作屬性] 區段之後未核取 [停止處理後續規則] 的螢幕快照。

如上所述,規則的順序很重要。 這是因為 URL 重寫會在取消選取後續規則時 ,依序處理規則 。 因此,在此情況下,第一個規則 會先考慮ARR_pilotSiteServers_loadbalance。 此規則會嘗試比對用戶端是否使用 IE,並已安裝 .NET 3.5。 如果是,則會將要求轉送至 pilotSiteServers 伺服器陣列。 由於取消核取 [ 停止處理後續規則 ] 複選框,它會處理第二個規則 ,ARR_productionSiteServers_loadbalance,這會將所有剩餘的要求路由傳送至 productionSiteServers 伺服器陣列。

若要使用命令行變更 URL 重寫規則:

  1. 使用 系統管理員 許可權開啟命令提示字元。

  2. 瀏覽至 %windir%\system32\inetsrv

  3. 若要變更 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
    
  4. 若要取消選取停止處理ARR_pilotSiteServers_loadbalance的後續規則,請輸入:

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False"  /commit:apphost
    

摘要

您現在已成功變更 URL 重寫中的規則,並利用應用程式要求路由,僅將一部分使用者路由傳送至試驗網站。 如需其他應用程式要求路由屬性和功能,請參閱其他應用程式要求路由 逐步解說