Sun Java System Web Proxy Server 4.0.8 管理指南

設定反向代理伺服器

若要設定反向代理伺服器,則需要兩種對映:標準對映和反向對映。


注意 – 注意 –

請勿將反向代理伺服器和提供自動配置檔案的代理伺服器一起使用,因為代理伺服器可能會傳回錯誤的結果。


假設您有一部名為 http://http.site.com/ 的 Web 伺服器,而您要為這部 Web 伺服器設定反向代理伺服器。您可以將反向代理伺服器稱為 http://proxy.site.com/

Procedure建立標準或反向對映

  1. 存取 Server Manager,然後按一下 [URL] 標籤。

  2. 按一下 [Create Mapping] 連結。

    這時會顯示 [Create Mapping] 頁面。

  3. 在所出現的頁面中,提供標準對映的來源前綴和來源目標,

    例如,

    來源前綴:http://proxy.site.com

    來源目標:http://http.site.com/

  4. 按一下 [OK]。

    返回頁面並建立反向對映,例如,

    反向對映:

    來源前綴:http://http.site.com/

    來源目標:http://proxy.site.com/

  5. 若要變更,請按一下 [OK]。

    當您按下 [OK] 按鈕時,代理伺服器就會增加一或多個附加對映。若要查看對映,請按一下 [View/Edit Mappings] 連結。附加對映的格式如下:

    from: /

    to: http://http.site.com/

    這些附加的自動對映,適用於將反向代理伺服器當作一般伺服器連線的使用者。第一個對映用來擷取連線至反向代理伺服器以做為標準代理伺服器的使用者。只有當使用者未變更由管理 GUI 自動提供之 [Map Source Prefix] 文字方塊的內容時,才會增加「 /」對映。依據設定,通常只需要第二個對映,但是額外的對映並不會導致代理伺服器發生問題。


    備註 –

    若 Web 伺服器具有多個 DNS 別名,則每個別名都必須具有對應的標準對映。若 Web 伺服器以其自身的數個 DNS 別名產生重新導向,則每個別名都應有一個對應的反向對映。


    CGI 應用程式仍在原始伺服器上執行。代理伺服器本身決不會執行 CGI 應用程式。然而,若 CGI 程序檔指出,可發出 Last-modified 或 Expires 標頭暗示非零的存留時間以快取結果,則代理伺服器將會快取結果。

    撰寫 Web 伺服器的內容時,請記住內容也是由反向代理伺服器提供服務的,因此 Web 伺服器上的所有檔案連結都應該是相對連結。請勿在 HTML 檔案中參照主機名稱。所有連結必須只包含頁面:

    /abc/def

    而非完全合格的主機名稱,如:

    http://http.site.com/abc/def


    備註 –

    您可以針對在反向代理伺服器模式中所發生的錯誤,提供自訂的錯誤頁面。這些錯誤頁面會置換代理伺服器所產生的錯誤。這樣可以防止用戶端得知您已配置代理伺服器。


設定安全的反向代理伺服器

設定安全的反向代理之前,您必須先熟悉數位憑證、憑證授權單位和認證。

設定安全的反向代理伺服器和設定不安全的反向代理伺服器,操作大致相同。唯一的差別是您必須為要加密的檔案,指定 HTTPS 做為通訊協定。

用戶端與代理伺服器之間的安全連線

這個程序說明如何根據您所選擇的配置方案,設定安全的反向代理伺服器。下面示範對映的設定方式,這些說明假設您有一部名為 http.site.com 的 Web 伺服器,而您要設定名為 proxy.site.com 的安全反向代理伺服器。當您執行這些步驟時,請以您的 Web 伺服器和代理伺服器的名稱,取代指示中所使用的範例名稱。

Procedure設定用戶端與代理伺服器之間安全連線的對映

  1. 存取 Server Manager,然後按一下 [URL] 標籤。

  2. 按一下 [Create Mapping] 連結。

    這時會顯示 [Create Mapping] 頁面。

  3. 在所出現的頁面上,以下列方式設定標準對映和反向對映:

    標準對映:

    來源前綴:https://proxy.mysite.com

    來源目標:http://http.mysite.com/

    反向對映:

    來源前綴:http://http.mysite.com/

    來源目標:https://proxy.mysite.com/

  4. 儲存並套用變更。

    若要查看您剛才所建立的對映,請按一下 [View/Edit Mappings] 連結。


    備註 –

    您的代理伺服器必須在安全模式下運作,這項配置才會有作用。換句話說,必須啟用加密,且必須從指令行重新啟動代理伺服器。若要從指令行重新啟動代理伺服器,請移至代理伺服器目錄並鍵入 ./start


Procedure設定代理伺服器與內容伺服器之間安全連線的對映

  1. 存取 Server Manager,然後按一下 [URL] 標籤。

  2. 按一下 [Create Mapping] 連結。

    這時會顯示 [Create Mapping] 頁面。

  3. 在所出現的頁面上,以下列方式設定標準對映和反向對映:

    標準對映:

    來源前綴:http://proxy.mysite.com

    來源目標:https://http.mysite.com/

    反向對映:

    來源前綴:https://http.mysite.com/

    來源目標:http://proxy.mysite.com/

  4. 儲存並套用變更。

    若要查看您剛才所建立的對映,請按一下名為 [View/Edit Mappings] 的連結。


    備註 –

    您的內容伺服器必須在安全模式下運作,這項配置才會有作用。


Procedure設定用戶端與代理伺服器之間以及代理伺服器與內容伺服器之間的安全連線

  1. 存取 Server Manager,然後按一下 [URL] 標籤。

  2. 按一下 [Create Mapping] 連結。

    這時會顯示 [Create Mapping] 頁面。

  3. 在所出現的頁面上,以下列方式設定標準對映和反向對映:

    標準對映:

    來源前綴:https://proxy.mysite.com

    來源目標:https://http.mysite.com/

    反向對映:

    來源前綴:https://http.mysite.com/

    來源目標:https://proxy.mysite.com/

  4. 儲存並套用變更。

    若要查看您剛才所建立的對映,請按一下名為 [View/Edit Mappings] 的連結。


    備註 –

    您的代理伺服器和內容伺服器必須在安全模式下運作,這項配置才會有作用。換句話說,必須對代理伺服器啟用加密,且必須從指令行重新啟動代理伺服器。若要從指令行重新啟動代理伺服器,請移至代理伺服器目錄並鍵入 ./restart


停用反向代理伺服器設定中的正向代理功能

當將 Proxy Server 配置為反向代理伺服器時,依預設,它不會停止正向代理伺服器的作用。這樣的伺服器實例既接受反向代理請求又接受正向代理請求,並為其提供服務。需要進一步配置才能停用正向代理功能。您可以設定 ACL 配置,拒絕 URI 符合正向代理格式的請求。您可以使用用戶端指令來達到這個目的:

<Client uri="http://.*">
PathCheck fn="check-acl" acl="http://.*"
<Client>
.
.
.
The "http://.*" ACL can be a deny all ACL as follows:
.
.
acl "http://.*";
deny (all) user="anyone";

反向代理伺服器中的虛擬多重主機

虛擬多重主機可以讓原始伺服器,如反向代理伺服器,回應多個 DNS 別名,如同在每個位址上安裝了不同的伺服器。舉例來說,假設您的 DNS 主機名稱為:

這三個主機名稱都可對映至相同的 IP 位址,即反向代理伺服器的 IP 位址。接著反向代理伺服器可依據存取其本身時所使用的 DNS 名稱,而做出不同的回應。

另外,虛擬多重主機也能讓您在單一反向代理伺服器中,放置多個不同的 *網域*。例如︰

您可以將多個本地主機名稱和多個網域組合在單一代理伺服器中:

虛擬多重主機功能的詳細資訊

虛擬多重主機的運作方式,是指定 DNS 主機和網域名稱或別名,然後再指定傳送至該主機名稱的請求,所應導向的目標 URL 前綴。舉例來說,假設您有兩個對映:

對映不一定是從根目錄到根目錄。您可以在目標 URL 中指定附加的 URL 路徑前綴:

這同樣適用於虛擬網域對映。例如,您可以使用:

系統會查看 HTTP「Host:」標頭。系統會根據該標頭,選擇相符的虛擬多重主機對映。如果沒有相符的多重主機對映,伺服器會依據對映出現在配置檔案中的順序繼續查看其他對映。如果仍找不到相符的對映,伺服器將不執行對映。如果找不到相符的對映,代理伺服器通常會發出「代理拒絕執行請求」的回應。

Procedure配置虛擬多重主機功能

  1. 存取 Server Manager,然後按一下 [URL] 標籤。

  2. 按一下 [Configure Virtual Multihosting] 連結。

    這時會顯示 [Configure Virtual Multihosting] 頁面。

  3. 在 [Source Hostname (alias)] 欄位中,指定要套用此對映的本地主機名稱 (或 DNS 別名)。

  4. 在 [Source Domain Name] 欄位中,鍵入應套用此對映的本機網域名稱。

    一般而言,這個名稱是您網路的網域名稱,除非您要針對多個不同的 DNS 網域使用多重主機。

  5. 在 [Destination URL Prefix] 欄位中,鍵入當主機和網域名稱與上述規格相符時,要將請求導向至的目標 URL 前綴。

  6. 若您使用範本,請在 [Use This Template] 下拉式清單中選擇範本名稱,若您不想套用範本,則將此值保留為 NONE。

  7. 按一下 [OK]。

  8. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  9. 按一下 [Restart Proxy Server] 按鈕以套用變更。

    針對您要建立的每個虛擬多重主機對映,重複執行上述步驟。

    所有虛擬多重主機對映都會出現在 [Configure Virtual Multihosting] 頁面的底端。[Source Hostname (alias)] 和 [Source Domain Name] 欄位以及代理伺服器的連接埠號會合併起來,成為單一的常規表示式,以用來比對「主機:」標頭。

    例如,若您的主機名稱為 www,網域為 example.com,連接埠號為 8080,則會出現下列常規表示式:

    www(|.example.com)(|:8080)

    此常規表示式保證與使用者可能鍵入的下列所有可能組合,或用戶端可能傳送的下列所有可能組合相符。即使該連接埠號並非 80,有些用戶端軟體仍可能加以省略,因為伺服器已經在該連接埠上進行偵聽。

    • www

    • www:8080

    • www.example.com

    • www.example.com:8080

虛擬多重主機功能的相關說明