为保证 ArcGIS Web Adaptor 和 ArcGIS Enterprise 组织之间的网络通信安全,将使用 HTTPS 协议。
HTTPS 协议是一项标准安全技术,用于在 Web 服务器与 Web 客户端之间建立加密连接。 HTTPS 通过对服务器进行识别和验证以及确保所有传输数据的隐私和完整性来实现安全网络通信。 由于 HTTPS 可防止窃听或篡改通过网络发送的信息,所以应对任何登录或身份验证机制以及任何包含保密信息或私有信息的网络通信应用 HTTPS。
注:
使用默认 HTTPS 端口 443 适用于大多数部署。 在极少数情况下,由于组织特定原因,ArcGIS Web Adaptor 实例无法在其 web 服务器上使用端口 443。 如果您的组织存在上述问题,请参阅使用门户 ArcGIS Web Adaptor 的非默认端口,其中详细介绍了配置解决方法的其他步骤。
在 Web 服务器上启用 HTTPS 需要包含公钥和私钥的服务器证书。 每个 Web 服务器均使用其自己的方法在 HTTPS 监听器中导入或引用证书。
除非配置了通过基于 PKI 的客户端证书身份验证的 Web 层身份验证,否则还需确保 Web 服务器已设置为忽略客户端证书才可通过 HTTPS 访问安全服务。
创建或获取服务器证书
要在 ArcGIS Web Adaptor 和组织之间创建 HTTPS 连接,Web 服务器需要服务器证书。 证书是一个数字文件,包含有关 Web 服务器标识的信息。 它还包含建立 Web 服务器和组织之间的安全通道时要使用的加密方法。 证书必须由网站和数字签名的所有者创建。 下面将介绍三种类型的证书 - CA 签名证书、域证书以及自签名证书。
CA 签名证书
通过独立证书颁发机构 (CA) 签署的证书向客户端确保网站身份已经验证。 证书颁发机构通常是一个受信任的第三方机构,可用于证实网站的真实性。 如果网站值得信任,证书颁发机构会将其自己的数字签名添加到该网站的自签名证书。 这可确保网站标识已经验证过的 Web 客户端。
使用用于生产系统的 CA 签名证书,特别是要通过组织外的用户访问 ArcGIS Enterprise 组织时。
使用由著名证书颁发机构颁发的证书时,服务器和 Web 客户端之间的安全通信将自动进行,无需组织管理员或进行访问的客户端执行任何特殊操作。 由于网站已由证书颁发机构进行安全验证,因此 Web 浏览器中不会显示任何异常行为或警告消息。
域证书
如果组织已设置防火墙保护且无法使用 CA 签名证书,则使用域证书。 域证书是由组织的证书颁发机构签名的内部证书。 使用域证书有助于降低颁发证书的成本以及简化证书部署,因为证书可在组织内针对受信任的内部使用生成。
域内用户通常不会收到与自签名证书相关的异常行为或警告消息,因为网站已由域证书进行过安全验证。 但是,域证书并非由外部证书颁发机构进行验证,即访问站点的域外用户无法验证证书是否如所宣称那样代表某一方。 外部用户将看到有关站点不受信任的浏览器警告,这可能导致用户认为其与恶意方进行通信,并因此退出您的站点。
自签名证书
仅由网站所有者签名的证书称为自签名证书。 自签名证书通常用于仅对组织内部 (LAN) 网络上的用户可用的网站上。 如果与外部网络中的使用自签名证书的网站进行通信,您将无法验证颁发证书的站点是否代表其声称代表的一方。 您可能正与恶意方进行通信,使您的信息处于危险之中。
创建自签名证书不应被视作生产环境的有效选项,因为这将导致异常结果以及所有组织用户的不良用户体验。
进行组织设置时,可以使用自签名证书进行初步测试,以帮助您快速验证是否配置成功。 但是,如果使用自签名证书,在测试期间将遇到如下状况:
- 当您从 Web 浏览器或桌面客户端访问组织时,您将收到有关该站点不受信任的警告。
通常,Web 浏览器遇到自签名证书时会显示警告消息并要求您确认是否继续前往该站点。 只要您使用自签名证书,许多浏览器就会显示警告图标或对地址栏标红。 如果使用自签名证书配置组织,则会看到这些类型的警告。
- 无法在地图查看器中打开联合服务、无法将受保护的服务项目添加到组织、无法在联合服务器中登录到 ArcGIS Server Manager 以及无法从 ArcGIS for Office 连接到组织。
要从 ArcGIS for Office 登录,需在运行 ArcGIS for Office 的计算机上将自签名证书安装到受信任根证书颁发机构证书存储。
- 打印托管服务以及从客户端应用程序中访问组织时可能出现异常行为。
警告:
以上使用自签名证书时将遇到的问题列表并不详尽。 建议使用域证书或 CA 签名证书全面测试和部署 ArcGIS Enterprise 组织。
创建 HTTPS 监听器
应用程序在有权限的端口(1 到 1023)上的监听能力通常受限于根用户运行的进程。 有多种方式可以避免以根用户身份运行 Web 服务器。 以下为示例:
- 将 CAP_NET_BIND_SERVICE 功能添加到服务单元文件或在应用程序二进制文件中进行设置。
- 使用 authbind 包以允许一个或一组进程在特定端口上监听。
- 在无权限端口上运行 Web 服务器监听器,并使用防火墙规则将发送到标准 HTTP/HTTPS 端口 (80/443) 的数据包重新路由至无权限端口(例如 8080/8443)。
有关详细信息,请查询 Web 服务器的文档。
创建 HTTPS 监听器时,运行 Web 服务器的用户必须有权限访问用于在特定端口上进行 TLS 通信的服务器证书。 如果 HTTP 监听器正常运行,但 HTTPS 不可用,则 Web 服务器日志将指示监听器未能绑定到端口的原因。
测试站点
获取或创建绑定到端口 443 的证书后,即可配置 Web Adaptor 以与组织配合使用。 必须使用 HTTPS URL(如 https://webadaptorhost.domain.com/webadaptorname/webadaptor)访问 ArcGIS Web Adaptor 配置页面。
注:
如果在 HTTPS 站点绑定中指定了主机名,则它必须与用于访问 ArcGIS Web Adaptor 配置页面的 URL 中的主机名匹配。
在配置 Web Adaptor 后,通过向组织发送 HTTPS 请求(例如 https://webadaptorhost.domain.com/webadaptorname/home)测试 HTTPS 是否正常运行。 若要使用自签名证书进行测试,则忽略浏览器有关连接不受信的警告。 通常,此操作涉及向浏览器添加例外情况,因此允许您与使用自签名证书的站点进行通信。