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