要忽略“域和子域代理”列表中的信息,请启用“自动代理配置”功能。
当使用代理自动配置 (Proxy Auto Configuration, PAC) 文件时:
Portal Server、网关、Netlet 和 Proxylet 使用 Rhino 软件解析 PAC 文件。您可以从 Java Enterprise System Accessory CD 安装 SUNWrhino 软件包。
此软件包包含 /usr/share/lib 目录中必须存在的 js.jar 文件。将此目录添加到网关和 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 文件是 Java 1.4.1_x 的本地文件(例如 c:\\pacfile\\sample.pac),则输入如下格式的 PAC URL:
file://c:/pacfile/sample.pac
如果 PAC 文件是 Java 1.4.2_x 的本地文件(例如 c:\\pacfile\\sample.pac),则输入如下格式的 PAC URL:
file:///c:/pacfile/sample.pac