Skip To Content

将转发代理服务器与 ArcGIS Server 结合使用

转发代理服务器是指 LAN 上可用于连接到网络外部而不会对内部网络安全造成任何损害的计算机。通常在外围网络(也称为隔离区 [DMZ] 或屏蔽子网)中使用转发代理服务器以保护内部计算机的标识。然而,大多数 ArcGIS Server 服务不需要连接到网络外部,PrintingTools 服务或自定义地理处理服务可能需要访问外部 Web 服务。如果您的组织使用转发代理服务器连接到外部,则需要将 ArcGIS Server 配置为使用转发代理服务器。

配置反向代理服务器的标准方式是通过使用 http_proxy 环境变量。如果已为 ArcGIS Server 帐户配置了环境变量,则无需执行其他步骤。要配置此环境变量并定义转发代理服务器,请在 <ArcGIS Server installation directory>/arcgis/server/usr 目录中编辑 init_user_param.sh 脚本。为此,请执行以下步骤:

  1. 在文本编辑器中打开 init_user_param.sh 脚本。
  2. 定位行 export http_proxy=http://<用户名>:<密码>@<proxy-server-name.domain.org>:<端口号/> 并修改示例 URL 以匹配转发代理服务器的名称和端口号。如果需要使用用户名和密码来连接到转发代理服务器,请在 URL 中指定用户名和密码参数。如果不需要使用用户名和密码,请从该 URL 中删除<用户名>:<密码>@ 文本。
  3. 此外,也可以使用 no_proxy 环境变量来指定一列不需要默认代理的域。要使用此变量,请取消注释行 export no_proxy="<local>;*.<domain>.<com>",并将条目添加到此列表中。指定域时,可使用通配符 *<local>。每个条目必须用分号 (;) 进行分隔。
  4. 保存并关闭 init_user_param.sh 脚本。
  5. 为使设置生效,您需要重启 ArcGIS Server。可通过在您部署中的每台 GIS 服务器上运行 startserver.sh 脚本来执行此操作。

ArcGIS Server 现在已按照 init_user_param.sh 脚本中指定的转发代理服务器设置进行配置。

转发代理服务器可对加密通信进行隧道传输,也可对通信进行解密,然后重新加密。如果ArcGIS Server 似乎无法通过代理服务器正常运行,则代理服务器可能正在解密并重新加密通信。解密通信的代理服务器将使用根证书颁发机构来提交证书。默认情况下,ArcGIS Server 不信任根证书颁发机构,因此您必须将证书导入到操作系统证书存储。可按照以下步骤进行操作。

  1. 将根证书放置在 ArcGIS Server 对其具有适当的文件读取权限的位置。
  2. 在托管 ArcGIS Server 的计算机上,浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录,并在文本编辑器中打开 init_user_param.sh 脚本。
  3. 找到行 export CA_ROOT_CERTIFICATE_DIR=<Location_to_CA_Root_Certificate>,然后指定在系统中存储所有 CA 根证书的位置。请注意,指定的目录需要能够供安装 ArcGIS Server 的账户访问。您需要通过移除井号 (#) 字符取消行的注释。
  4. 保存并关闭 init_user_param.sh 脚本。
  5. 重新启动 ArcGIS Server。可通过在您站点中的每台计算机上运行 startserver.sh 脚本来执行此操作。
  6. ArcGIS Server 站点中的每台计算机重复这些步骤。