转发代理服务器是指 LAN 上可用于连接到网络外部而不会对内部网络安全造成任何损害的计算机。通常在外围网络(也称为隔离区 [DMZ] 或屏蔽子网)中使用转发代理服务器以保护内部计算机的标识。然而,大多数 ArcGIS Server 服务不需要连接到网络外部,PrintingTools 服务或自定义地理处理服务可能需要访问外部 Web 服务。如果您的组织使用转发代理服务器连接到外部,则需要将 ArcGIS Server 配置为使用转发代理服务器。
- 打开 Web 浏览器并登录到 ArcGIS Server Administrator Directory。URL 地址格式为 https://machine.domain.com:6443/arcgis/admin。
- 单击系统 > 属性 > 更新。
- 在更新服务器属性对话框中,插入以下 JSON 代码,以替换您的转发代理服务器信息:
{ "httpProxyHost": "forwardproxy.domain.com", "httpsProxyHost": "forwardproxy.domain.com", "httpProxyPort": 80, "httpsProxyPort": 443, "nonProxyHosts": "portal.domain.com" }
如果转发代理需要身份验证,则需要在 JSON 字符串中包括用户名和密码:
{ "httpProxyHost": "forwardproxy.domain.com", "httpsProxyHost": "forwardproxy.domain.com", "httpProxyPort": 80, "httpsProxyPort": 443, "httpProxyUser": "username", "httpsProxyUser": "username", "httpProxyPassword": "password", "httpsProxyPassword": "password", "nonProxyHosts": "portal.domain.com" }
如果您的转发代理服务器已配置为专门使用 HTTPS,请从 JSON 中移除所有 http 属性。
nonProxyHosts 属性中务必包含安装门户的计算机名称。如果要将 ArcGIS Server 与门户联合,此属性还应包括安装 ArcGIS Server 的计算机名称。计算机和域项目以竖线 (|) 分隔,例如:
"nonProxyHosts": "portal.domain.com|server.domain.com|*.domain.com"
- 单击更新属性。
ArcGIS Server 使用的转发代理配置设置的来源有种:安装ArcGIS Server 的操作系统和 ArcGIS Server Administrator Directory 中的系统属性。建议在这两个位置配置转发代理。
在 Linux 中,配置转发代理服务器的标准方式是使用 http_proxy 环境变量。要配置此环境变量并定义转发代理服务器,请在 /arcgis/server/usr 目录中编辑 init_user_param.sh 脚本。为此,请执行以下步骤:
- 在文本编辑器中打开 init_user_param.sh 脚本。
- 定位行 export http_proxy=http://<用户名>:<密码>@<proxy-server-name.domain.org>:<端口号/> 并修改示例 URL 以匹配转发代理服务器的名称和端口号。如果需要使用用户名和密码来连接到转发代理服务器,请在 URL 中指定用户名和密码参数。如果不需要使用用户名和密码,请从该 URL 中删除<用户名>:<密码>@ 文本。
- 此外,也可以使用 no_proxy 环境变量来指定一列不需要默认代理的域。要使用此变量,请取消注释行 export no_proxy="<local>;*.<domain>.<com>",并将条目添加到此列表中。指定域时,可使用通配符 * 和 <local>。每个条目必须用分号 (;) 进行分隔。
- 保存并关闭 init_user_param.sh 脚本。
- 为使设置生效,您需要重启 ArcGIS Server。可通过在您部署中的每台 GIS 服务器上运行 startserver.sh 脚本来执行此操作。
ArcGIS Server 现在已按照 init_user_param.sh 脚本中指定的转发代理服务器设置进行配置。
转发代理服务器可对加密通信进行隧道传输,也可对通信进行解密,然后重新加密。如果ArcGIS Server 似乎无法通过代理服务器正常运行,则代理服务器可能正在解密并重新加密通信。解密通信的代理服务器将使用根证书颁发机构来提交证书。默认情况下,ArcGIS Server 不信任根证书颁发机构,因此您必须将证书导入到操作系统证书存储。可按照以下步骤进行操作。
- 将根证书放置在 ArcGIS Server 对其具有适当的文件读取权限的位置。
- 在托管 ArcGIS Server 的计算机上,浏览至 init_user_param.sh 目录,并在文本编辑器中打开 <ArcGIS Server installation directory>/arcgis/server/usr 脚本。
- 找到行 export CA_ROOT_CERTIFICATE_DIR=<Location_to_CA_Root_Certificate>,然后指定在系统中存储所有 CA 根证书的位置。请注意,指定的目录需要能够供安装 ArcGIS Server 的账户访问。您需要通过移除井号 (#) 字符取消行的注释。
- 保存并关闭 init_user_param.sh 脚本。
- 重新启动 ArcGIS Server。可通过在您站点中的每台计算机上运行 startserver.sh 脚本来执行此操作。
- 对 ArcGIS Server 站点中的每台计算机重复这些步骤。