在某些情况下,Portal for ArcGIS 会充当代理服务器。该功能用于下列情况:
- 尝试访问不同于门户的域上的资源,并且跨域资源共享 (CORS) 支持不可用。CORS 是一种规范,可使 web 服务器和 web 浏览器进行交互并确定是否允许跨域请求。
- 尝试与其他用户共享受保护资源,但希望隐藏访问资源所需要的用户凭据。
默认情况下,门户的代理功能不受限制。因此门户可能会被误用,从而导致对门户计算机可访问的所有计算机均启动拒绝服务 (DoS) 或服务器端请求伪造 (SSRF) 攻击。为减少这种潜在漏洞,强烈建议您通过定义已批准的 web 地址列表来限制门户的代理功能。Portal for ArcGIS 将仅允许地址列表中的代理请求;其他所有请求会被锁定。如果您已联合 ArcGIS Server 和门户,则该列表必须包括站点内所有 GIS 服务器计算机的地址以及门户中共享为项目的任意资源。
要定义已批准地址的列表,请遵循以下步骤。
- 打开 Web 浏览器并以组织管理员的身份登录到 ArcGIS Portal 目录。URL 地址格式为 https://webadaptor.domain.com/arcgis/portaladmin。
- 单击安全性 > 配置 > 更新安全性配置。
- 在配置字段中,添加 allowedProxyHosts 属性并指定已批准地址的列表,例如:
{ "disableServicesDirectory": false, "enableAutomaticAccountCreation": false, "allowedProxyHosts": "gisserver1.domain.com,gisserver2.domain.com" }
注:
使用 (.*).domain.com 格式可允许指定域内所有计算机的代理请求。谨慎使用通配符 (*);未经授权的用户可能无意间被授予了对受限计算机的访问权限。
- 单击更新配置。