使用應用程式要求路由建立轉寄 Proxy
本文將說明如何使用 Internet Information Services (IIS) 實作轉送 Proxy 伺服器的應用程式要求路由 (ARR) 和 URL 重寫功能。
概觀
應用程式要求路由是 IIS 的功能,可讓您使用 Proxy 伺服器控制網際網路流量。 Proxy 伺服器可作為在要求端為用戶端提供服務的單一連絡人,或回應端的 Web 服務器背景工作角色。 在要求端,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 流量。
當它從其中一個命名為目標 Web 服務器的用戶端收到要求時,轉送 Proxy 伺服器會依下列方式處理要求,並透過防火牆將其轉送至網際網路:
- 正向 Proxy 伺服器會接收來自用戶端的要求,並檢查其有效性。
- 如果要求有效,ARR 會檢查其快取,以查看回應是否已位於該處。 如果找到回應,ARR 會將它傳回給用戶端,而不會將要求傳送至網際網路。
- 如果 ARR 在快取中找不到回應,Proxy 伺服器會透過防火牆將要求傳送至網際網路連線,以及具有資訊的內容伺服器。
- 當內容伺服器滿足要求時,回應會透過網際網路傳回至轉寄 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,請繼續進行,如下所示:
開啟 Internet Information Services (IIS) 管理員。
在 [ 連線] 窗格中,選取伺服器。
在伺服器窗格中,按兩下 [應用程式要求路由快取]。
在 [ 動作 ] 窗格中,按一下 [ 伺服器 Proxy 設定]。
在 [ 應用程式要求路由 ] 頁面上,選取 [ 啟用 Proxy]。
在 [動作] 窗格中,按一下 [套用]。 這可在伺服器層級啟用 ARR 作為 Proxy。
若要開始將 ARR 轉換成正向 Proxy 的程式,請按一下 [ 連線 ] 窗格中的伺服器節點。
在伺服器窗格中,按兩下 [URL 重寫]。
在 [ 動作 ] 窗格中,按一下 [ 新增規則] () 。
在 [ 新增規則 ] 對話方塊中,按兩下 [ 空白規則]。
在 [ 編輯輸入規則 ] 對話方塊中,輸入 [轉寄 Proxy] 做為 [名稱]。 在 [ 比對 URL] 區域中,輸入下列專案:
- 使用:萬用字元
- 模式:*
向下捲動至 [編輯輸入規則] 對話方塊的 [條件] 區域,然後按一下 [新增...]。
在 [ 新增條件 ] 對話方塊中,選取或輸入下列專案:
- 條件輸入: {HTTP_HOST}
- 類型:符合模式
- 模式:*
向下捲動至 [編輯輸入規則] 對話方塊的 [動作] 區域,然後輸入下列內容:
- 動作類型:重寫
- 重寫 URL:HTTP://{C:1}/{R:0}
在 [動作] 窗格中,按一下 [套用]。
注意
此規則可讓 HTTP 訊息通過轉寄 Proxy。 此轉寄 Proxy 不支援 HTTPS (443) 訊息,因為 ARR 不支援 HTTP CONNECT。
在您的應用程式、瀏覽器等中適當地設定 Proxy 設定。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應