反向代理服务器是在外围网络(也称为隔离区 [DMZ] 或屏蔽子网)中部署的计算机,可处理来自 Internet 的请求并将其转发到内部网络的计算机中。 通过转发请求,反向代理服务器会为组织防火墙后面的计算机标识进行掩膜,从而保护内部计算机,使其免受 Internet 用户的直接攻击。 可以在反向代理服务器中实施其他安全功能,以进一步保护内部网络,以防外部用户访问。
您可以配置 ArcGIS Notebook Server 站点以使用组织的反向代理服务器。 此操作是可选的。 如果您的组织尚未使用反向代理服务器,或者您不想配置 ArcGIS Notebook Server 站点使用反向代理服务器,则可以使用门户配置站点。
将 ArcGIS Notebook Server 添加至反向代理服务器
您的组织的反向代理服务器必须配置为通过向代理目录添加相应 URL 的方法与 ArcGIS Web Adaptor 进行通信。
例如,如果您正在使用 Apache 作为反向代理服务器,则需要将 ArcGIS Web Adaptor URL 添加到 Apache Web 服务器配置文件 httpd.conf 中的以下 ProxyPass 指令中:
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
设置 WebContextURL 属性
如果您正在使用反向代理服务器,而您站点的 URL 并非以默认字符串 /arcgis(全部小写)结尾,则还应设置 ArcGIS Notebook Server 的 WebContextURL 属性。 这有助于 ArcGIS Notebook Server 在发送给最终用户所有资源上构造的正确 URL。
注:
使用 WebContextURL 属性将 ArcGIS Notebook Server URL 设置为与其 ArcGIS Web Adaptor 的 URL 匹配(例如 /notebook)。
- 以具有管理员权限的用户身份登录至 ArcGIS Notebook Server Administrator Directory (https://notebookserver.domain.com:11443/arcgis/admin)。
- 单击系统 > 属性 > 更新。
- 在属性文本框中,插入以下 JSON,将您自己的 ArcGIS Notebook Server URL 替换为所在组织防火墙以外的用户所看到的 URL。
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- 单击 Update。
- 重新启动 ArcGIS Notebook Server。 在 Windows 中,重新启动 ArcGIS Server Windows 服务。
反向代理标题和 ArcGIS Notebook Server
将反向代理与 ArcGIS Web Adaptor 集成时,反向代理服务器发送的标题中必须设置以下属性:
X-Forwarded-Host=<FQDN of reverse proxy server>
如果在标题中设置该属性,ArcGIS Web Adaptor 会将请求返回到与反向代理服务器的 URL 相匹配的反向代理服务器。 例如,对 ArcGIS Notebook Server 服务目录 (https://reverseproxy.domain.com/arcgis/rest/services) 的请求会以相同的 URL 返回到客户端。
如果未设置 X-Forwarded-Host 标题属性,则 ArcGIS Web Adaptor 可能会返回请求已定向的内部计算机的 URL,例如 https://notebookserver.domain.com/arcgis/rest/services,而不是 https://reverseproxy.domain.com/arcgis/rest/services。 这会带来问题,因为客户端将无法访问 URL(通常称为浏览器 404 错误)。 而且,客户端将获得有关内部计算机的一些信息。
在排除客户端与 ArcGIS Web Adaptor 之间的通信故障时,建议您在反向代理服务器中设置 X-Forwarded-Host 标题属性,因为这是导致通信失败的常见原因。 设置该标题的方式取决于您的反向代理服务器实现。 例如,Apache 会通过以下配置中的 ProxyPreserveHost On 指令完成此设置:
...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...
有关如何通过原始托管标题的指导信息,请参阅反向代理服务器的产品文档。