要忽略 [網域與子網域的代理伺服器] 清單中的資訊,請啟用 [自動代理伺服器配置] 功能。
使用自動代理伺服器配置 (Proxy Auto Configuration, PAC) 檔案時:
Portal Server、閘道、Netlet 與 Proxylet 使用 Rhino 軟體來剖析 PAC 檔案。您可以從 Java Enterprise System Accessory CD 安裝 SUNWrhino 套裝軟體。
此套裝軟體包含 js.jar 檔案,其必須位於 /usr/share/lib 目錄。將此目錄新增到閘道和 Portal Server 機器上的 webserver/appserver 類別路徑,否則 Portal Server、閘道、Netlet 以及 Proxylet 無法剖析 PAC 檔案。
js.jar 必須位於閘道機器上的 $JRE_HOME/lib/ext 目錄中,否則閘道無法剖析 PAC 檔案。
啟動時,閘道從閘道設定檔的「自動代理伺服器配置檔案」位置欄位中指定的位置取得 PAC 檔案。
閘道使用 URLConnection API 到達此位置。如果需要配置代理伺服器以到達閘道,必須以下列方式配置代理伺服器:
從指令行中,編輯下列檔案:
/etc/opt/SUNWportal/platform.conf.gateway-profile-name
新增下列項目:
http.proxyHost= web-proxy-hostname
http.proxyPort= web-proxy-port
http.proxySet=true
重新啟動閘道以使用指定的代理伺服器:
./psadmin start-sra-instance –u amadmin – f <password file> –N <profile name>– t <gateway>
如果 PAC 檔案初始化失敗,閘道會使用 [網域與子網域的代理伺服器] 清單中的資訊。
如果從 PAC 檔案傳回「」空字串或「null」,閘道會假設該主機不屬於此企業內部網路。這與不在 [網域與子網域的代理伺服器] 清單中之主機的情況類似。
如果您想要閘道使用直接連線連到主機,請返回到「DIRECT」。請參閱含有傳回 DIRECT 或 NULL 的範例。
當指定多個代理伺服器時,閘道僅使用第一個返回的代理伺服器。閘道不會在指定給主機的多個代理伺服器之間嘗試修復錯誤或負載平衡。
閘道忽略 SOCKS 代理伺服器並嘗試直接連線,同時假設該主機是企業內部網路的一部分。
要指定代理伺服器,讓其通往任何不屬於內部企業網路的主機,請使用代理伺服器類型 STARPROXY。此代理伺服器類型是 PAC 檔案格式的延伸,與在閘道設定檔的 [網域與子網域的代理伺服器] 部分中的 * proxyHost:port 項目相似。請參閱含有傳回 STARPROXY 的範例。
下列範例顯示列在 [網域與子網域的代理伺服器] 清單中的 URL 和對應的 PAC 檔案。
如果將這些代理伺服器用於網域與子網域:
*intranet1.com proxy.intranet.com:8080
intranet2.com proxy.intranet1.com:8080
相對應的 PAC 檔案是:
// Start of the PAC File function FindProxyForURL(url, host) { if (dnsDomainIs(host, ".intranet1.com")) { return "DIRECT"; } if (dnsDomainIs(host, ".intranet2.com")) { return "PROXY proxy.intranet1.com:8080"; } return "NULL"; } //End of the PAC File |
如果將這些代理伺服器用於網域與子網域:
intranet1.com
intranet2.com.proxy.intranet1.com:8080
internetproxy.intranet1.com:80
相對應的 PAC 檔案是:
// Start of the PAC File function FindProxyForURL(url, host) { if (dnsDomainIs(host, ".intranet1.com")) { return "DIRECT"; } if (dnsDomainIs(host, ".intranet2.com")) { return "PROXY proxy.intranet1.com:8080;" + "PROXY proxy1.intranet1.com:8080"; } return "STARPROXY internetproxy.intranet1.com:80"; } //End of the PAC File |
在這個情況下,如果請求的主機位於 .intranet2.com 網域,則閘道會連絡 proxy.intranet1.com:8080。如果 proxy.intranet1.com:8080 無法使用,請求會失敗。閘道不會進行容錯移轉與連絡 proxy1.intranet1.com:8080。
用來指定 PAC 檔案位置的格式需視下列位置而定:
如果 PAC 檔案位於 Web 伺服器上,則 PAC URL 為:
http://hostname/pacfile_name .pac
如果 PAC 檔案是本機檔案 (例如,c:\\pacfile\\sample.pac),則在 java 1.4.1_x 中,PAC URL 的輸入格式為:
file://c:/pacfile/sample.pac
如果 PAC 檔案是本機檔案 (例如,c:\\pacfile\\sample.pac),則在 java 1.4.2_x 中,PAC URL 的輸入格式為:
file:///c:/pacfile/sample.pac