本章说明与网关有关的概念。有关管理网关的信息,参见第 16 章,管理网关。有关配置网关的信息,参见第 8 章,配置 Secure Remote Access 网关。
本章包括以下主题:
网关在源自 Internet 的远程用户会话与公司内联网之间提供了接口和安全屏障。网关可通过单个接口将来自内联网服务器和应用程序服务器的内容安全地呈现给远程用户。
对于每个网关实例,您必须完成以下任务:
其他与网关有关的主题包括:
网关配置文件包含与网关配置相关的所有信息,包括网关监听时使用的端口、SSL 选项和代理选项。安装网关时,如果选择默认值,就会创建一个名为“default”的默认网关配置文件。与默认配置文件相对应的配置文件位于:/etc/opt/SUNWportal/platform.conf.default。
其中 /etc/opt/SUNWportal 是所有 platform.conf.* 文件的默认位置。有关 platform.conf 文件的详细信息,参见了解 platform.conf 文件。
当使用配置文件时,可执行以下任务:
创建多个配置文件、定义每个配置文件的属性,并根据需要将这些配置文件分配给不同的网关。
将单个配置文件分配给在不同机器上安装的网关。
将不同的配置文件分配给在同一机器上运行的单个网关实例。
不要将同一配置文件分配给在同一机器上运行的不同网关实例。由于端口号相同,此设置会造成冲突。
不要在为同一网关创建的不同配置文件中指定相同的端口号。以相同端口运行同一网关的多个实例会造成冲突。
多宿主网关实例是一个 Portal Server 上的多个网关。要创建这些实例,请按照以下方式修改 platform.conf 文件:
gatewaybindipaddress = 0.0.0.0
如果是创建使用同一 LDAP 的多个网关实例,请在创建第一个网关之后,在所有后续网关上执行以下操作:
在 /etc/opt/SUNWam/config/ 中,修改 AMConfig-instance-name .properties 中的以下区域,以便与第一个安装的网关实例一致。
通常,您无需重新启动网关。只有在发生以下任一事件时,才需要重新启动网关:
已创建一个新的配置文件并且需要将新配置文件分配给网关。
已修改现有配置文件中的一些属性并要使更改生效。
网关因“内存不足”之类的错误而崩溃。
网关停止响应,且不对任何请求提供服务。
可以配置监视程序监控网关状态的时间间隔。要启动或停止监视程序,请运行命令 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off。该时间间隔默认设置为 60 秒。要更改该值,请在 crontab 实用程序中编辑下面一行:
0-59 * * * * gateway-install-root/SUNWportal/bin/ /var/opt/SUNWportal/.gw. 5 > /dev/null 2>&1 |
参见 crontab 的手册页以便配置 crontab 条目。
虚拟主机是指向同一机器 IP 和主机名的附加主机名。例如,如果某一主机名 abc 指向主机 IP 地址 192.155.205.133,则您可以添加指向同一 IP 地址的另一个主机名 cde。
您可以指定一个代理主机,网关将使用它来联络在 Portal Server 之上部署的“SRA 核心”(RemoteConfigServlet)。网关使用此代理可访问到 Portal Server 和 Access Manager。参见指定代理。
默认情况下,platform.conf 文件位于: /etc/opt/SUNWportal。
platform.conf 文件包含网关所需要的详细信息。本节提供了一个范例 platform.conf 文件,并且说明了所有条目。
在配置文件中包含所有机器特定细节的优势在于:一个通用的配置文件可以被多个机器上运行的各个网关共享。
以下是 platform.conf 文件的样例。
Tue May 30 11:51:23 IST 2006 debug.com.sun.portal.rewriter.original.level=INFO gateway.favicon= gateway.bindipaddress=10.12.154.236 debug.com.sun.portal.sra.rproxy.toFromServer.handler.java.util.logging.FileHandler.pattern= /var/opt/SUNWportal/logs/sra/default/Gateway.toFromServer.%u.%g.log gateway.port=443 rewriterproxy.jvm.flags=-ms64m -mx128m portal.server.instance=default debug.com.sun.portal.handler.java.util.logging.FileHandler.filter= gateway.jdk.dir=/usr/jdk/entsys-j2se gateway.ignoreURIList=/MSOffice/cltreq.asp,/_vti_bin/owssvr.dll debug.com.sun.portal.rewriter.rest.level=INFO gateway.trust_all_server_certs=true debug.com.sun.portal.handler.java.util.logging.FileHandler.append=true gateway.cdm.cacheCleanupTime=300000 gateway.httpurl= debug.com.sun.portal.handler.java.util.logging.FileHandler.count=1 gateway.jvm.classpath= debug.com.sun.portal.setserverlogs=false gateway.protocol=https debug.com.sun.portal.sra.rproxy.toFromServer=java.util.logging.FileHandler rewriterproxy.jvm.classpath= gateway.enable.customurl=false debug.com.sun.portal.sra.rproxy.toFromBrowser=java.util.logging.FileHandler debug.com.sun.portal.handler.java.util.logging.FileHandler.formatter=com.sun.portal. log.common.PortalLogFormatter debug.com.sun.portal.sra.rproxy.toFromBrowser.handler.java.util.logging.FileHandler.pattern= /var/opt/SUNWportal/logs/sra/default/Gateway.toFromBrowser.%u.%g.log debug.com.sun.portal.level=INFO debug.com.sun.portal.rewriter.unaffected.separatefile=true gateway.enable.accelerator=false debug.com.sun.portal.rewriter.original.separatefile=true gateway.virtualhost=nicp236.india.sun.com 10.12.154.236 debug.com.sun.portal.stacktrace=true gateway.host=nicp236.india.sun.com debug.com.sun.portal.handler.java.util.logging.FileHandler.pattern= /var/opt/SUNWportal/logs/sra/default/%logger.%sraComponentType.%u.%g.log gateway.certdir=/etc/opt/SUNWportal/cert/default gateway.sockretries=3 gateway.allow.client.caching=true debug.com.sun.portal.rewriter.unaffected.level=INFO debug.com.sun.portal.rewriter.uriinfo.separatefile=true log.config.check.period=2000 debug.com.sun.portal.rewriter.rewritten.level=INFO gateway.userProfile.cacheSize=1024 debug.com.sun.portal.rewriter.rulesetinfo.level=INFO netletproxy.jvm.classpath= gateway.userProfile.cacheSleepTime=60000 debug.com.sun.portal.rewriter.uriinfo.level=INFO debug.com.sun.portal.rewriter.rest.separatefile=true gateway.notification.url=notification debug.com.sun.portal.rewriter.rulesetinfo.separatefile=true gateway.logdelimiter=&& gateway.ignoreServerList=false gateway.jvm.flags=-ms64m -mx128m debug.com.sun.portal.handler.java.util.logging.FileHandler.limit=5000000 gateway.dsame.agent=http\://sunone216.india.sun.com\:8080/portal/RemoteConfigServlet gateway.httpsurl= gateway.retries=6 gateway.userProfile.cacheCleanupTime=300000 gateway.logging.password=X03MO1qnZdYdgyfeuILPmQ\=\= UX9x0jIua3hx1YOVRG/TLg\=\= netletproxy.jvm.flags=-ms64m -mx128m debug.com.sun.portal.rewriter.rewritten.separatefile=true gateway.user=noaccess gateway.external.ip=10.12.154.236 debug.com.sun.portal.handler=java.util.logging.FileHandler gateway.cdm.cacheSleepTime=60000 rewriterproxy.accept.from.gateways= rewriterproxy.checkacl=false |
下表列出并介绍了 platform.conf 文件中的所有字段。
表 2–1 文件属性
您可以使用第三方 Web 代理 配置网关以联系 HTTP 资源。Web 代理位于客户机和 Internet 之间。
不同的代理可能用于不同的域和子域。这些条目告诉网关使用哪个代理去联络特定域中的特定子域。在网关中指定的代理配置具有如下功能:
创建域和子域列表,同时在网关服务中的“域和子域代理”字段中创建所需的代理。
启用“使用代理”选项:
在“域和子域代理”字段中指定的代理被用于指定的主机。
要实现直接连接“域和子域代理”列表中指定的域和子域内的特定 URL,请在“不使用 Web 代理 URL”字段中指定这些 URL。
禁用“使用代理”选项:
要确保代理被用于在“域和子域代理”字段中指定的域和子域内的特定 URL,请在“使用 WebProxy URL”列表中指定这些 URL。
虽然已禁用“使用代理”选项,但是代理仍用于连接在“使用 Webproxy URL”下列出的 URL。这些 URL 的代理从“域和子域代理”列表中获得。
以下图示说明显示了如何根据网关服务中的代理配置来解析 Web 代理信息。
在Web 代理配置中,如果启用“使用代理”,并且请求的 URL 在“不可使用 Web 代理 URL”列表中列出,则网关直接连接到目标主机。
如果启用“使用代理”,并且请求的 URL 未在“不可使用 Webproxy URL”列表中列出,则网关通过指定的代理连接到目标主机。如果已经指定代理,则可以在“域和子域代理”列表中查寻。
如果禁用“使用代理”,并且请求的 URL 在“使用 Webproxy URL”列表中列出,则网关使用在“域和子域代理”列表中的代理信息连接到目标主机。
如果禁用“使用代理”,并且请求的 URL 未在“使用 Webproxy URL”列表中列出,则网关直接连接到目标主机。
如果上述条件都无法满足,则不可能进行直接连接,网关显示一条错误信息,说明不可能进行连接。
如果您正通过标准“Portal 桌面”的“书签”频道访问 URL,但未满足上述任一条件,则网关将向浏览器发送一条重定向指令。浏览器使用它自己的代理设置访问 URL。
domainname [web_proxy1:port1]|subdomain1 [web_proxy2:port2]| |
sesta.com wp1:8080|red wp2:8080|yellow|* wp3:8080 |
其中:
sesta.com 是域名而 wp1 是在端口 8080 上用于联络的代理。
red 是子域而 wp2 是在端口 8080 上用于联络的代理。
yellow 是子域。由于没有指定代理,因此使用为域指定的代理,即端口 8080 上的 wp1。
* 指示其他所有子域都需要在端口 8080 上使用 wp3。
如果未指定端口,则默认使用 8080 端口。
当客户机尝试访问特定 URL 时,URL 中的主机名会与“域和子域的代理”列表中的条目匹配。要考虑与所请求主机名的最长后缀相匹配的条目。例如,假设所请求的主机名为 host1.sesta.com。会按顺序进行以下搜索,直到找到匹配条目为止。
扫描 host1.sesta.com 中的域和子域的代理。如果发现匹配的条目,则根据该条目所指定的代理将用于连接该主机。
或者,在列表中扫描 *.sesta.com。如果找到匹配条目,则使用相应的代理。
或者,在列表中搜索 sesta.com。如果找到匹配条目,则使用相应的代理。
或者,在列表中搜索 *.com。如果找到匹配条目,则使用相应的代理。
或者,在列表中搜索 com。如果找到匹配条目,则使用相应的代理。
或者,在列表中搜索 *。如果找到匹配条目,则使用相应的代理。
如果没有找到匹配条目,则尝试直接连接。
考虑以下“域和子域代理”列表中的条目:
com p1| host1 p2 | host2 | * p3 sesta.com p4 | host5 p5 | * p6 florizon.com | host6 abc.sesta.com p8 | host7 p7 | host8 p8 | * p9 host6.florizon.com p10 host9.sesta.com p11 siroe.com | host12 p12 | host13 p13 | host14 | * p14 siroe.com | host15 p15 | host16 | * p16 * p17 |
网关会按照以下的表格所示,将这些条目内部映射到表格。
表 2–2 域和子域代理列表中条目的映射
数量 |
域和子域代理列表中的条目 |
代理 |
描述 |
---|---|---|---|
1 |
com |
p1 |
如列表中指定。 |
2 |
host1.com |
p2 |
如列表中指定。 |
3 |
host2.com |
p1 |
由于没有为 host2 指定任何代理,因而使用域的代理。 |
4 |
*.com |
p3 |
如列表中指定。 |
5 |
sesta.com |
p4 |
如列表中指定。 |
6 |
host5.sesta.com |
p5 |
如列表中指定。 |
7 |
*.sesta.com |
p6 |
如列表中指定。 |
8 |
florizon.com |
直接 |
有关详细信息,参见条目 14 的说明。 |
9 |
host6.florizon.com |
– |
有关详细信息,参见条目 14 的说明。 |
10 |
abc.sesta.com |
p8 |
如列表中指定。 |
11 |
host7.abc.sesta.com |
p7 |
如列表中指定。 |
12 |
host8.abc.sesta.com |
p8 |
如列表中指定。 |
13 |
*.abc.sesta.com |
p9 |
如列表中指定。在 abc.sesta.com 域下,所有主机(host7 和 host8 除外)都会使用 p9 作为代理。 |
14 |
host6.florizon.com |
p10 |
此条目与条目 9 相同。条目 9 指示直接连接,但是此条目指示应当使用代理 p10。倘若有两个这样的条目,含有代理信息的条目被视为有效条目。另一个条目将被忽略。 |
15 |
host9.sesta.com |
p11 |
如列表中指定。 |
16 |
siroe.com |
直接 |
由于没有为 siroe.com 指定任何代理,所以尝试进行直接连接。 |
17 |
host12.siroe.com |
p12 |
如列表中指定。 |
18 |
host13.siroe.com |
p13 |
如列表中指定。 |
19 |
host14.siroe.com |
直接 |
由于没有为 host14 指定任何代理,所以尝试进行直接连接。 |
20 |
*.siroe.com |
p14 |
参见表项 23 的说明。 |
21 |
host15.siroe.com |
p15 |
如列表中指定。 |
22 |
host16.siroe.com |
直接 |
由于没有为 host16 或 siroe.com 指定任何代理,所以尝试进行直接连接。 |
23 |
*.siroe.com |
p16 |
类似于条目 20,但是所指定的代理却不同。在此情况下,无法知道网关的确切行为。可能使用两个代理中的任意一个。 |
24 |
* |
p17 |
如果没有其他条目与所请求的 URL 匹配,则使用 p17 作为代理。 |
您可以将“域和子域代理”列表中的各个条目放在列表中单独的行上,而不是使用 | 符号分隔代理条目。例如,不使用一个条目:
sesta.com p1 | red p2 | * p3 |
您可以按以下方式指定此信息:
sesta.com p1 red.sesta.com p2 *.sesta.com p3 |
这种列表格式更容易跟踪重复的条目或任何其他多义的情况。
重写器也使用“域和子域代理”列表中的条目。重写器重写所有 URL(它们的域与“域和子域代理”列表中列出的域相匹配)。
不会考虑重写“域和子域的代理”列表中的 * 条目。例如,不会考虑条目 24。
有关重写器的信息,参见第 4 章,使用重写器。
当 URL 中的目标主机不是全限定主机名时,默认的域和子域将用于到达全限定名。
假设管理控制台的“默认域”字段中的值是:
red.sesta.com |
需要在“域和子域代理”列表中具有相应的条目。
在上面的示例中,sesta.com 是默认域而默认子域是 red。
如果请求的 URL 是 host1,则使用默认的域和子域将此条目解析为 host1.red.sesta.com。然后,在“域和子域代理”列表中查找 host1.red.sesta.com。
要忽略“域和子域代理”列表中的信息,请启用“自动代理配置”功能。
当使用代理自动配置 (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
当您在单独的会话中添加 Portal Server 服务时:
在 Portal Server 管理控制台的“网关”>“核心”下列出 Portal Server。
在“网关”>“安全”下的“免验证 URL”中会列出 Portal Server URL。
Netlet 信息包在网关处解码并被发送至目标服务器。然而,网关需要通过隔离区 (DMZ) 和内联网之间的防火墙,才能访问所有的 Netlet 目标主机。此设置需要在防火墙中打开许多端口。Netlet 代理可于将防火墙中打开的端口数量降至最低。
Netlet 代理通过延展客户机至网关最终至内联网中的 Netlet 代理之间的安全隧道,从而增强了网关和内联网之间的安全性。通过使用代理,Netlet 信息包将被代理解码然后发送到目标服务器地。
添加了额外的安全层。
在大规模的部署环境中,尽量减少了网关通过内部防火墙使用额外 IP 地址和端口的情况。
将网关和 Portal Server 之间的打开端口数限制为 1。该端口数可以在安装期间配置。
扩展了客户机与网关之间的安全通道,最多可扩展至 Portal Server,如使用 Netlet 代理的“使用配置的 Netlet 代理”一节中所示。通过数据加密 Netlet 代理提供的安全性得到改善,但是可能会增加系统资源的使用量。有关安装 Netlet 代理的信息,参见《Sun Java System 安装指南》。
您可以执行以下任务:
在 Portal Server 节点或在单独的节点上安装 Netlet 代理。
使用管理控制台安装多个 Netlet 代理并且为单个网关配置这些代理。这有利于负载平衡。
在单个机器上配置 Netlet 代理的多个实例。
将多个网关实例指向单个安装的 Netlet 代理。
通过 Web 代理开通 Netlet 通道。
显示在安装和未安装 Netlet 代理的情况下,网关和 Portal Server 的三个实现示例。组件包括一台客户机、两个防火墙、驻留在两个防火墙之间的网关、Portal Server 和 Netlet 目标服务器。
第一种方案显示网关和未安装 Netlet 代理的 Portal Server。数据加密仅从客户机扩展至网关。对于每个 Netlet 连接请求,都会在第二个防火墙中打开一个端口。
在第二种方案显示的网关和 Portal Server 中,Portal Server 上安装了 Netlet 代理。数据加密从客户机一直扩展到 Portal Server。由于所有 Netlet 连接都通过 Netlet 代理路由,因此在第二个防火墙中仅需为 Netlet 请求打开一个端口。
第三种方案显示网关以及在单独节点上安装 Netlet 代理的 Portal Server。在单独节点上安装 Netlet 代理将减少 Portal Server 节点上的负载。此外,仅需在第二个防火墙中打开两个端口。一个端口将请求送至 Portal Server,另一个端口将 Netlet 请求发送至 Netlet 代理服务器。
通过使用 Portal Server 管理控制台中的网关服务可启用 Netlet 代理。
可将 Netlet 代理配置为只要代理被意外终止就重新启动。可以计划监视程序进程时间表来监控 Netlet 代理,只要它停止运行就重新启动。
也可以手动重新启动 Netlet 代理。有关步骤,参见重新启动 Netlet 代理。
可以配置监视程序监控 Netlet 代理状态的时间间隔。该时间间隔默认设置为 60 秒。要更改此间隔,请将以下一行添加至 crontab 文件:
0-59 * * * * netlet-install-dir/bin/checkgw /var/opt/SUNWportal/.gw 5 > /dev/null 2>&1
要启动或停止监视程序,请运行命令 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off。
重写器代理安装于内联网中。网关不会直接尝试检索内容,而是将所有请求转发至重写器代理,由重写器代理获取内容并将其返回至网关。
使用重写器代理的优点如下:
如果网关与服务器之间有防火墙,防火墙只需打开两个端口- - 一个为网关与重写器代理之间的端口,另一个为网关与 Portal Server 之间的端口。
HTTP 通信在网关和内联网之间是安全的,即使目标服务器仅支持 HTTP 协议(不支持 HTTPS)。
如果未指定重写器代理,那么当用户尝试访问内联网计算机时,网关组件将会直接连接到内联网计算机。
如果您将重写器代理用作负载平衡器,请确保重写器的 platform.conf.instance_name 指向负载平衡器的 URL。此外,请在 Portal Server 列表中指定负载平衡器主机。
如果每个网关实例都有多个重写器代理实例(不必位于门户节点上),请在 platform.conf 文件中以 host-name:port 形式提供每个重写器代理的详细信息,不是重写器代理的单个端口条目。
使用 rwpmultiinstance 脚本在 Portal Server 节点上创建新的重写器代理实例。创建网关配置文件后运行此脚本。
参见创建重写器代理实例。
在 Access Manager 管理控制台中,通过“SRA 配置”下的网关服务启用重写器代理。
可以将重写器代理配置为只要代理被意外终止就重新启动。可以制定监视程序进程计划来进行监控,只要出现此种情况就重新启动。
也可以手动重新启动重写器代理。
参见重新启动重写器代理。
可以配置监视程序监控重写器代理状态的时间间隔。该时间间隔默认设置为 60 秒。要更改时间间隔,请将以下一行添加至 crontab 文件中:
0-59 * * * * rewriter-proxy-install-root /bin/checkgw /var/opt/SUNWportal/.gw 5 > /dev/null 2>&1
要启动或停止监视程序,请运行命令 ./psadmin sra-watchdog -u amadmin -f <password-file> -t <type> on|off。
代理服务器将 Internet 内容传送至内联网,而反向代理将内联网内容传送至 Internet。您可以配置反向代理的部署,以实现负载平衡和高速缓存。
如果部署中网关前面有第三方反向代理,必须用反向代理的 URL 重写响应内容,而不是网关的 URL。对此,需要进行下列配置。
参见启用反向代理。
当网关将客户机请求转发至任何内部服务器时,它将 HTTP 标题添加到 HTTP 请求中。可以使用这些报头来获取额外的客户机信息并检测网关是否存在。
要查看 HTTP 请求报头,请将 platform.conf 文件中的条目设置为 gateway.error=message。然后,使用 servlet API 的 request.getHeader()。下表列出了 HTTP 报头中的信息。
表 2–3 HTTP 报头中的信息
验证链提供了比常规验证机制更高级别的安全性。可用多个验证机制验证用户。
这里所描述的过程仅用于在网关同时启用验证链和个人数字证书 (Personal Digital Certificate, PDC) 验证。有关网关上无 PDC 验证的验证链信息,参见 Access Manager 管理指南。
例如,如果将 PDC 和 Radius 验证模块链在一起,用户须得通过全部三个模块的验证才能访问标准“Portal 桌面”。
有关步骤,参见向现有 PDC 实例添加验证模块。
启用后,PDC 总是第一个显示给用户的验证模块。
通配符证书接受具有主机的全限定 DNS 名中通配符的单个证书。
通过使用证书,可以保护同一域内的多个主机。例如,*.domain.com 的证书可用于 abc.domain.com 和 abc1.domain.com。此证书对于 domain.com 域中的任何主机都有效。
由于可通过网关组件仅使用 Web 浏览器从任何地方安全地访问后端公司数据,因此客户机不应在本地对信息进行高速缓存。
通过修改特定网关的 platform.conf 文件中的属性,可以禁止通过网关对重定向的页面进行高速缓存。
禁用该选项会影响网关性能。每当刷新标准“Portal 桌面”,网关就必须检索该页所引用的所有内容,例如先前可能已经被浏览器高速缓存的图像。然而,启用该功能意味着远程访问安全内容将不会在客户端站点留下高速缓存的痕迹。如果从不受公司 IT 控制的网吧或类似的远程位置访问公司网络,此因素可能比性能问题更重要。
参见禁用浏览器高速缓存。
本节讨论可以编辑的各种网关属性文件。
您可以编辑该文件用于以下目的:
自定义网关运行时可能会出现的错误消息。
HTML-CharSets=ISO-8859-1 指定用于创建此文件的字符集。
括号中的数字(例如 {0})表示在运行时显示的值。可以更改与该数字关联的标签,或者按照需要重新排列标签。确保标签与要显示的消息相对应,因为数字和消息是关联的。
自定义日志信息。
默认情况下,srapGateway.properties 文件位于 portal-server-install-root /SUNWportal/locale 目录之下。网关计算机上出现的所有消息都在该文件中,而与消息语言无关。
要更改客户机标准“Portal 桌面”上显示的消息的语言,请将该文件复制到相应的语言环境的目录中,例如 portal-server-install-root/SUNWportal/locale_en_US。
您可以出于以下目的编辑该文件:
定制在管理控制台中网关服务的按钮上显示的标签。
定制配置网关时所显示的状态消息和错误消息。
当 Portal Server 和 Access Manager 服务器的两个实例共享相同的 LDAP 目录时,Portal Server、Access Manager 和网关的所有后续实例均共享相同的 LDAP 目录。参见共享 LDAP 目录。