Share via


使用應用程式要求路由建立轉寄 Proxy

作者:Jim van de Erve

本文將說明如何使用 Internet Information Services (IIS) 實作轉送 Proxy 伺服器的應用程式要求路由 (ARR) 和 URL 重寫功能。

概觀

應用程式要求路由是 IIS 的功能,可讓您使用 Proxy 伺服器控制網際網路流量。 Proxy 伺服器可作為在要求端為用戶端提供服務的單一連絡人,或回應端的 Web 服務器背景工作角色。 在要求端,Proxy 會接受來自其中一個用戶端的要求,並將其轉送至網際網路。 對網際網路,要求似乎來自 Proxy,而不是來自用戶端。 在回應端,Proxy 會接受來自網際網路的要求,並將它散發給多個背景工作角色的其中一個。 對網際網路,要求似乎要處理,而且 Proxy 伺服器本身會產生回應,而不是來自其中一個後端背景工作角色。

第一種類型的 Proxy 伺服器:處理來自用戶端的輸出要求、將它轉送至網際網路,並將產生的回應傳回給用戶端,稱為 正向 Proxy。 第二種類型的 Proxy 伺服器:處理來自網際網路的連入要求、將它轉送到後端背景工作角色,並將回應傳回網際網路,稱為 反向 Proxy

正向和反向 Proxy

轉寄 Proxy 和反向 Proxy 有顯著的不同功能,但它們會執行與作為要求者或回應者 Proxy 相同的基本動作。 在這兩種情況下,Proxy 伺服器會隔離私人網路與網際網路,讓您採取方法來改善安全性。 在這兩種情況下,Proxy 都會處理要求和回應,讓其能夠對流量執行作業,藉由使用快取或壓縮來改善效能、防範攻擊,以及篩選資訊。

ARR 作為轉寄 Proxy

當 ARR 作為正向 Proxy 時,它是用戶端電腦內部網路 (或內部網路) 的一部分。 Proxy 會使用 URL 重寫規則,將要求從用戶端傳遞至網際網路。 ARR 作為正向 Proxy 可用來藉由快取來改善頻寬使用量和效能;不過,它不適合作為完整、商業等級的轉寄 Proxy。

請注意,ARR 只會處理 HTTP 流量,而不是其他通訊協定。 ARR 不支援 HTTP CONNECT 動詞命令,因此不支援轉送 HTTPS 流量。

ARR 作為轉寄 Proxy

當它從其中一個命名為目標 Web 服務器的用戶端收到要求時,轉送 Proxy 伺服器會依下列方式處理要求,並透過防火牆將其轉送至網際網路:

  1. 正向 Proxy 伺服器會接收來自用戶端的要求,並檢查其有效性。
  2. 如果要求有效,ARR 會檢查其快取,以查看回應是否已位於該處。 如果找到回應,ARR 會將它傳回給用戶端,而不會將要求傳送至網際網路。
  3. 如果 ARR 在快取中找不到回應,Proxy 伺服器會透過防火牆將要求傳送至網際網路連線,以及具有資訊的內容伺服器。
  4. 當內容伺服器滿足要求時,回應會透過網際網路傳回至轉寄 Proxy 伺服器。 ARR 可以設定為快取回應。

正向 Proxy 提供下列優點:

  • 藉由在啟用 () 時,快取定期要求的資訊來改善效能並降低網路流量。 它會快取第一個要求者的回應,而當後續用戶端要求相同的內容時,會從快取取得內容。 不會從內容伺服器再次要求回應。
  • 藉由確保要求有效,協助改善網路安全性。
  • 如果啟用) ,則使用 IIS 壓縮 (來改善效能。
  • 支援篩選,以確保原則符合使用 URL 重寫。

安裝和設定 ARR 作為轉寄 Proxy

必要條件

若要使用 ARR 設定正向 Proxy 伺服器,您必須具備下列專案:

  • Windows 2008 上的 IIS 7.0 或更新版本 (針對 IIS 安裝追蹤角色服務的任何 SKU) 或更新版本。
  • Microsoft 應用程式要求路由第 3 版和相依模組
  • 至少有一部具有工作網站和應用程式的背景工作伺服器。

安裝 ARR

如果尚未安裝應用程式要求路由第 3 版,您可以 在這裡下載。 此連結所顯示的下載網站包含安裝指示。

安裝 URL 重寫

透過 伺服器管理員 安裝 IIS 的 URL 重寫模組。 如需詳細資訊,請參閱在Windows Server 2012 R2 上安裝 IIS 8.5

將 ARR 設定為轉寄 Proxy

若要啟用 ARR 做為 Proxy,並建立 URL 重寫規則以啟用 ARR 作為轉寄 Proxy,請繼續進行,如下所示:

  1. 開啟 Internet Information Services (IIS) 管理員。

  2. 在 [ 連線] 窗格中,選取伺服器。

  3. 在伺服器窗格中,按兩下 [應用程式要求路由快取]。 ARR 快取圖示

  4. 在 [ 動作 ] 窗格中,按一下 [ 伺服器 Proxy 設定]。 伺服器 Proxy 設定

  5. 在 [ 應用程式要求路由 ] 頁面上,選取 [ 啟用 Proxy]。 啟用 Proxy

  6. 在 [動作] 窗格中,按一下 [套用]。 這可在伺服器層級啟用 ARR 作為 Proxy。 啟用 ARR 作為 Proxy

  7. 若要開始將 ARR 轉換成正向 Proxy 的程式,請按一下 [ 連線 ] 窗格中的伺服器節點。

  8. 在伺服器窗格中,按兩下 [URL 重寫]。 URL 重寫

  9. 在 [ 動作 ] 窗格中,按一下 [ 新增規則] () 新增規則

  10. 在 [ 新增規則 ] 對話方塊中,按兩下 [ 空白規則]。 空白規則

  11. 在 [ 編輯輸入規則 ] 對話方塊中,輸入 [轉寄 Proxy] 做為 [名稱]。 在 [ 比對 URL] 區域中,輸入下列專案:

    • 使用:萬用字元
    • 模式:*

    此螢幕擷取畫面顯示 [轉寄 Proxy 的編輯輸入規則] 對話方塊。

  12. 向下捲動至 [編輯輸入規則] 對話方塊的 [條件] 區域,然後按一下 [新增...]。 新增條件

  13. 在 [ 新增條件 ] 對話方塊中,選取或輸入下列專案:

    • 條件輸入: {HTTP_HOST}
    • 類型:符合模式
    • 模式:*

    編輯輸入規則

  14. 向下捲動至 [編輯輸入規則] 對話方塊的 [動作] 區域,然後輸入下列內容:

    • 動作類型:重寫
    • 重寫 URL:HTTP://{C:1}/{R:0}

    此螢幕擷取畫面顯示 [編輯輸入規則] 對話方塊,其中包含 [動作類型重寫] 和指定的 [重寫 URL]。

  15. 在 [動作] 窗格中,按一下 [套用]

    注意

    此規則可讓 HTTP 訊息通過轉寄 Proxy。 此轉寄 Proxy 不支援 HTTPS (443) 訊息,因為 ARR 不支援 HTTP CONNECT。

  16. 在您的應用程式、瀏覽器等中適當地設定 Proxy 設定。