Sun Java System Portal Server Secure Remote Access 7.2 管理指南

第 2 章 使用网关

章说明与网关有关的概念。有关管理网关的信息,参见第 16 章,管理网关。有关配置网关的信息,参见第 8 章,配置 Secure Remote Access 网关

本章包括以下主题:

网关简介

网关在源自 Internet 的远程用户会话与公司内联网之间提供了接口和安全屏障。网关可通过单个接口将来自内联网服务器和应用程序服务器的内容安全地呈现给远程用户。

对于每个网关实例,您必须完成以下任务:

其他与网关有关的主题包括:

创建网关配置文件

网关配置文件包含与网关配置相关的所有信息,包括网关监听时使用的端口、SSL 选项和代理选项。安装网关时,如果选择默认值,就会创建一个名为“default”的默认网关配置文件。与默认配置文件相对应的配置文件位于:/etc/opt/SUNWportal/platform.conf.default

其中 /etc/opt/SUNWportal 是所有 platform.conf.* 文件的默认位置。有关 platform.conf 文件的详细信息,参见了解 platform.conf 文件

当使用配置文件时,可执行以下任务:


注意 – 注意 –

不要将同一配置文件分配给在同一机器上运行的不同网关实例。由于端口号相同,此设置会造成冲突。

不要在为同一网关创建的不同配置文件中指定相同的端口号。以相同端口运行同一网关的多个实例会造成冲突。


创建网关的多个实例

要创建网关的多个实例,参见 《Sun Java System Portal Server 7.2 Installation and Configuration Guide》中的第 4  章 “Installing and Configuring a Gateway With Portal Server”

创建多宿主网关实例

宿主网关实例是一个 Portal Server 上的多个网关。要创建这些实例,请按照以下方式修改 platform.conf 文件:

gatewaybindipaddress = 0.0.0.0

使用同一 LDAP 创建网关实例

如果是创建使用同一 LDAP 的多个网关实例,请在创建第一个网关之后,在所有后续网关上执行以下操作:

/etc/opt/SUNWam/config/ 中,修改 AMConfig-instance-name .properties 中的以下区域,以便与第一个安装的网关实例一致。

参见使用同一 LDAP 创建网关实例

重新启动网关

通常,您无需重新启动网关。只有在发生以下任一事件时,才需要重新启动网关:

配置网关监视程序

可以配置监视程序监控网关状态的时间间隔。要启动或停止监视程序,请运行命令 ./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

指定与 Access Manager 联络的代理

您可以指定一个代理主机,网关将使用它来联络在 Portal Server 之上部署的“SRA 核心”(RemoteConfigServlet)。网关使用此代理可访问到 Portal Server 和 Access Manager。参见指定代理

了解 platform.conf 文件

默认情况下,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 文件属性

表项 

默认值 

描述 

gateway.user

noaccess 

以该用户身份运行网关。 

必须以超级用户身份启动网关,在初始化之后将丧失超级用户权限而成为该用户。 

gateway.jdk.dir

 

这是网关使用的 JDK 目录的位置。 

gateway.dsame.agent

 

这是网关启动时为获取其配置文件所联络的 Access Manager 的 URL。 

portal.server.protocol

portal.server.host

portal.server.port

 

这是 Portal Server 默认安装正在使用的协议、主机和端口。 

gateway.protocolgateway. hostgateway.port

 

这是网关的协议、主机和端口。这些值与您在安装期间所指定的模式和端口相同。这些值用于构造通知用的 URL。 

gateway. trust_all_server_certs

true 

该项指示网关是否必须信任所有服务器证书,或者仅信任那些位于网关证书数据库中的证书。 

gateway. trust_all_server_cert_domains

false 

当网关与服务器之间进行 SSL 通信时,会将服务器证书提交给网关。默认情况下,网关检查服务器主机名是否与服务器证书 CN 相同。 

如果该属性值被设为 true,则网关将禁止对所接收的服务器证书进行域检查。 

gateway.virtualhost

 

如果网关机器具有多个已配置的主机名,则可以在此字段中指定一个不同的名称和身份认证提供者地址。 

gateway.virtualhost. defaultOrg=org

 

该项指定用户登录到的默认 Org。 

例如,假设虚拟主机字段条目如下所示: 

gateway.virtualhost=test.com employee.test.com

Managers.test.com

而默认 Org 条目为: 

test.com.defaultOrg = o=root,dc=test,dc=com

employee.test.com.defaultOrg = o=employee,dc=test,dc=com

Manager.test.com.defaultOrg = o=Manager,dc=test,dc=com

用户可以使用 https://manager.test.com,而不是 https://test.com/o=Manager,dc=test,dc=com 登录到管理人员的 Org。


注 –

virtualhost 和 defaultOrg 在 platform.conf 文件中区分大小写,但在 URL 中使用时却不区分。


gateway.notification.url

 

网关主机、协议和端口的组合用于构造通知用的 URL。它用于从 Access Manager 接收会话通知。 

请确保通知用的 URL 与任何组织名称都不相同。如果通知 URL 与某一组织名匹配,则尝试连接至该组织的用户得到的是空白页,而不是登录页。 

gateway.retries

 

这是启动时网关试图联络 Portal Server 的次数。 

gateway.debug

error

该项可设置网关的调试级别。调试日志文件位于 debug-directory/files。调试文件的位置在 gateway.debug.dir 条目中指定。

调试级别为: 

  • error - 只有严重的错误才会记录到调试文件中。当出现此类错误时,网关通常停止运行。

  • warning - 记录警告消息。

  • message - 记录所有调试消息。

  • on - 在控制台上显示所有调试信息。

调试文件为: 

srapGateway.gateway-profile-name - 包含网关调试消息。

Gateway_to_from_server.gateway-profile-name - 在消息模式下,该文件包含网关与内部服务器之间的所有请求和响应标题。

要生成该文件,请更改 /var/opt/SUNWportal/debug 目录的写权限。

Gateway_to_from_browser.gateway-profile-name - 在消息模式下,该文件包含网关和客户机浏览器间的所有请求和响应标题。

要生成该文件,请更改 /var/opt/SUNWportal/debug 目录的写权限。

gateway.debug.dir

 

这是生成所有调试文件的目录。 

此目录必须具有足有的权限以将 gateway.user 中所提及的用户写入文件。

gateway.logdelimiter

 

当前未使用。 

gateway.external.ip

 

对于多宿主网关机器(一部机器具有多个 IP 地址),需要在此指定外部 IP 地址。Netlet 使用该 IP 用于运行 FTP。 

gateway.certdir

 

该项指定证书数据库的位置。 

gateway.allow.client.caching

true 

允许或禁止客户机高速缓存。 

如果允许,则客户机浏览器就可以为实现更好的性能而高速缓存静态页和图像(通过已缩减的网络通信量)。 

如果不允许,则不会缓存任何内容且安全性更高,但性能会随着网络负载增高而下降。 

gateway.userProfile.cacheSize

 

这是在网关获取高速缓存的用户配置文件条目数。如果条目数超过了该值,则会出现频繁重试以便清除高速缓存。 

gateway.userProfile. cacheSleepTime

 

设置清除高速缓存的睡眠时间(以秒为单位)。 

gateway.userProfile. cacheCleanupTime

 

以秒为单位的最大时间,超过该时间后就可以删除一个配置文件条目。 

gateway.bindipaddress

 

在多宿主机器上,这是 IP 地址,网关将其 serversocket 绑定到该地址。要配置网关以侦听所有接口,请替换该 IP 地址以使 gateway.bindipaddress=0.0.0.0

gateway.sockretries

当前未使用。 

gateway.enable.accelerator

false 

如果设置为 true,则允许支持外部加速器。 

gateway.enable.customurl

false 

如果设置为 true,则允许管理员为网关指定一个自定义的 URL 以便将页重写至该 URL。 

gateway.httpurl

 

与网关将页面重写到的自定义 URL 相应的 HTTP 反向代理 URL。Proxylet 启用时使用此条目。 

gateway.httpsurl

 

与网关将页面重写到的自定义 URL 相应的 HTTPS 反向代理 URL。如果 Proxylet 已启用,则不使用此条目。 

gateway.favicon

 

网关将 favicon.icon 文件请求重定向到的 URL。

它用于 Internet Explore 和 Netscape 7.0 及更高版本中的“收藏图标”。 

如果留为空白,网关会向浏览器发回一条 404 未找到消息。 

gateway.logging.password

 

用户 amService-srapGateway 的 LDAP 密码,网关使用它创建其应用程序会话。

该字段既可以是加密文本,也可以是明文。 

http.proxyHost

 

此代理主机用于联络 Portal Server。 

http.proxyPort

 

这是主机用于联络 Portal Server 的端口。 

http.proxySet

 

如果需要代理主机,将此属性设置为 true。如果将该属性设置为 false,则忽略 http.proxyHosthttp.proxyPort

portal.server.instance

 

该属性的值是相应的 /etc/opt/SUNWam/config/AMConfig-instance-name.properties 文件。如果该值为默认值,则其指向 AMConfig.properties

gateway.cdm.cacheSleepTime

60000 

从 Access Manager 发送至网关的高速缓存“客户机检测模块”响应的超时值。 

gateway.cdm.cacheCleanupTime

300000 

从 Access Manager 发送至网关的高速缓存“客户机检测模块”响应的超时值。 

netletproxy.port

10555 

Netlet 代理守护进程在此端口侦听请求。 

rewriterproxy.port

10555 

“重写器代理”守护进程在此端口侦听请求。 

gateway.ignoreServerList

false 

如果设置为 true,则使用 AMConfig.properties 文件中指定的值来构造 Access Manager 服务器 URL。当 Access Manager 服务器躲在负载平衡器后面时,将此属性设置为 true。

rewriterproxy.accept.from.gateways

 

此属性是指 IP 地址列表,可使重写器代理接受来自该列表的请求 。它在 HTTP 和 HTTPS 模式下均可运行。它用于提高安全性,只接受来自该集合的请求,而不处理所有其他请求。IP 地址可使用逗号分隔。默认值为空,被视为传统模式,即接受所有送至重写器代理的请求。 

rewriterproxy.checkacl=

false 

启用该属性,可使重写器代理如同网关一样检查 ACL 值。传统模式值为“false”。当设置为 true 时,重写器代理将在指定的 DN 上根据网关访问服务中指定的值来检查 URL,并将根据位于该处的列表集合允许/拒绝请求。该值在 HTTP 和 HTTPS 模式下均非常有用。 

使用 Web 代理

您可以使用第三方 Web 代理 配置网关以联系 HTTP 资源。Web 代理位于客户机和 Internet 之间。

Web 代理配置

不同的代理可能用于不同的域和子域。这些条目告诉网关使用哪个代理去联络特定域中的特定子域。在网关中指定的代理配置具有如下功能:


注 –

如果您正通过标准“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。会按顺序进行以下搜索,直到找到匹配条目为止。

考虑以下“域和子域代理”列表中的条目:


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 域和子域代理列表中条目的映射

数量 

域和子域代理列表中的条目 

代理 

描述 

com 

p1 

如列表中指定。 

host1.com 

p2 

如列表中指定。 

host2.com 

p1 

由于没有为 host2 指定任何代理,因而使用域的代理。 

*.com 

p3 

如列表中指定。 

sesta.com 

p4 

如列表中指定。 

host5.sesta.com 

p5 

如列表中指定。 

*.sesta.com 

p6 

如列表中指定。 

florizon.com 

直接 

有关详细信息,参见条目 14 的说明。 

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 域下,所有主机(host7host8 除外)都会使用 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) 文件时:

PAC 文件用法示例

以下示例显示在“域和子域代理”列表中列出的 URL 及相应的 PAC 文件。

返回 DIRECT 或 NULL 的示例

如果将这些代理用于域和子域:

*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

返回 STARPROXY 的示例

如果将这些代理用于域和子域:

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 文件位置的格式取决于其所在的位置,如下所示:

在单独的会话中添加服务

当您在单独的会话中添加 Portal Server 服务时:

使用 Netlet 代理

Netlet 信息包在网关处解码并被发送至目标服务器。然而,网关需要通过隔离区 (DMZ) 和内联网之间的防火墙,才能访问所有的 Netlet 目标主机。此设置需要在防火墙中打开许多端口。Netlet 代理可于将防火墙中打开的端口数量降至最低。

Netlet 代理通过延展客户机至网关最终至内联网中的 Netlet 代理之间的安全隧道,从而增强了网关和内联网之间的安全性。通过使用代理,Netlet 信息包将被代理解码然后发送到目标服务器地。

使用 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 代理服务器。

图 2–1 Netlet 代理的实现

Netlet 代理的实现

启用 Netlet 代理

通过使用 Portal Server 管理控制台中的网关服务可启用 Netlet 代理。

重新启动 Netlet 代理

可将 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


使用重写器代理

重写器代理安装于内联网中。网关不会直接尝试检索内容,而是将所有请求转发至重写器代理,由重写器代理获取内容并将其返回至网关。

使用重写器代理的优点如下:

如果未指定重写器代理,那么当用户尝试访问内联网计算机时,网关组件将会直接连接到内联网计算机。

如果您将重写器代理用作负载平衡器,请确保重写器的 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 报头中的信息

报头 

语法 

描述 

PS-GW-PDC 

X-PS-GW- PDC: true/false

指示是否已在网关启用 PDC。 

PS-Netlet 

X-PS-Netlet:enabled=true/false

指示网关是否已启用或禁用 Netlet。 

如果 Netlet 已启用,则会填充加密选项,指示网关是以 HTTPS (encryption=ssl) 模式还是以 HTTP 模式 (encryption=plain) 运行。

例如: 

  • PS-Netlet: enabled=false

    Netlet 已禁用。

  • PS-Netlet: enabled=true; encryption=ssl

    Netlet 通过以 SSL 模式运行的网关启用。

    当未启用 Netlet 时,encryption=sslencryption=plain 不会被填充。

PS-GW-URL 

X-PS-GW-URL: http(s)://gatewayURL(:port)

指示客户机连接的 URL。 

如果端口为非标准端口,例如,如果网关是 HTTP/HTTPS 模式而端口并非 80/443,则也会填充 :port

PS-GW-Rewriting-URL 

X-PS-GW-URL: http(s)://gatewayURL(:port)/[SessionInfo]

指示网关将全部页重写至的 URL。 

  1. 当浏览器支持 cookie 时,此报头的值与 PS-GW-URL 报头相同。

  2. 当浏览器不支持 cookie 时:

    • 如果目标主机列于“用户会话 Cookie 被转发到的用户会话”字段中,该值为网关将页面重写到的实际 URL(包括已编码的 SessionID 信息)。

    • 如果目标主机未列于“用户会话 Cookie 被转发到的用户会话”字段中,则 SessionInfo 字符串为 $SessionID


      注 –

      作为响应的一部分,如果用户的 Access Manager sessionId 发生变化(就像来自验证页的响应那样),则使用该值(而不是先前在报头中指示的值)重写页面。


      例如:

    • 如果浏览器支持 cookie:

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/ 

  • 如果浏览器不支持 cookie 且端服务器列于“用户会话 Cookie 被转发到的用户会话”字段中。

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/SessIDValCustomEncodedValue/ 

  • 如果浏览器不支持 cookie 且端服务器未列于“用户会话 Cookie 被转发到的用户会话”字段中。

PS-GW-Rewriting-URL: https://siroe.india.sun.com:10443/$SessionID 

PS-GW-CLientIP 

X-PS-GW-CLientIP: IP

表示网关从 recievedSocket.getInetAddress().getHostAddress() 获取的 IP。

如果直接连接至网关,则该值可提供客户机的 IP。 

使用验证链

验证链提供了比常规验证机制更高级别的安全性。可用多个验证机制验证用户。

这里所描述的过程仅用于在网关同时启用验证链和个人数字证书 (Personal Digital Certificate, PDC) 验证。有关网关上无 PDC 验证的验证链信息,参见 Access Manager 管理指南

例如,如果将 PDC 和 Radius 验证模块链在一起,用户须得通过全部三个模块的验证才能访问标准“Portal 桌面”。

有关步骤,参见向现有 PDC 实例添加验证模块


注 –

启用后,PDC 总是第一个显示给用户的验证模块。


使用通配符证书

通配符证书接受具有主机的全限定 DNS 名中通配符的单个证书。

通过使用证书,可以保护同一域内的多个主机。例如,*.domain.com 的证书可用于 abc.domain.comabc1.domain.com。此证书对于 domain.com 域中的任何主机都有效。

禁用浏览器高速缓存

由于可通过网关组件仅使用 Web 浏览器从任何地方安全地访问后端公司数据,因此客户机不应在本地对信息进行高速缓存。

通过修改特定网关的 platform.conf 文件中的属性,可以禁止通过网关对重定向的页面进行高速缓存。

禁用该选项会影响网关性能。每当刷新标准“Portal 桌面”,网关就必须检索该页所引用的所有内容,例如先前可能已经被浏览器高速缓存的图像。然而,启用该功能意味着远程访问安全内容将不会在客户端站点留下高速缓存的痕迹。如果从不受公司 IT 控制的网吧或类似的远程位置访问公司网络,此因素可能比性能问题更重要。

参见禁用浏览器高速缓存

自定义网关服务用户界面

本节讨论可以编辑的各种网关属性文件。

修改 srapGateway.properties 文件

您可以编辑该文件用于以下目的:

修改 srapgwadminmsg.properties 文件

您可以出于以下目的编辑该文件:

共享 LDAP 目录

当 Portal Server 和 Access Manager 服务器的两个实例共享相同的 LDAP 目录时,Portal Server、Access Manager 和网关的所有后续实例均共享相同的 LDAP 目录。参见共享 LDAP 目录