默认情况下,ArcGIS Server 允许跨域请求 (CORS),因此 JavaScript 客户端可从任意域调用服务器服务。
要限制 JavaScript 应用程序对特定域的请求,可将 ArcGIS Server 配置为仅信任特定域。 可以使用 ArcGIS Server Administrator Directory 进行此设置。
限制来自 JavaScript 应用程序的请求
默认情况下,ArcGIS Server 允许所有 JavaScript 应用程序访问 Web 服务。 名为 AllowedOrigins 的属性可以控制此行为(其默认设置为通配符 *)。 要阻止其他域中的特定 JavaScript 应用程序使用您的 Web 服务,则可更改 AllowedOrigins 值以包含一个仅有信任域的列表。 这样可降低未知应用程序向 Web 服务发送恶意命令的可能性。
注:
在 Web Adaptor、反向代理或负载平衡器实施的 CORS 标头设置可以与通过 AllowedOrigins 属性定义的 ArcGIS Server 交互。 在大多数情况下,建议您允许 ArcGIS Server 管理发送基于 AllowedOrigins 属性的适当CORS 标头。 这可确保不需要为 Web Adaptor、反向代理或负载平衡器定义单独的 CORS 标头。 .
- 打开 ArcGIS Server 管理员目录,然后以具有服务器管理访问权限的用户身份登录。 URL 地址格式为 https://gisserver.domain.com:6443/arcgis/admin。
- 单击系统 > 处理程序 > 其余 > 服务目录。
- 在服务目录页面中,单击编辑。
- 在 AllowedOrigins 字段中,指定一个包含计算机及其域名(可访问 Web 服务)的逗号分隔的列表,例如 https://machine.esri.com, http://host.arcgis.com, https://gisserver.example.com。
注:
在域名中不能使用 * 通配符替代计算机名(例如 https://*.example.com)。 必须在列表中指定完全限定的每台计算机域名。
- 单击保存。
限制跨域请求 OGC Web 服务端点
- 浏览至 system > handlers > soap > soaphandlerconfig。
- 在 SOAP 处理程序配置页面中,单击编辑。
- 在 AllowedOrigins 字段中,指定一个包含计算机及其域名(可通过 SOAP 访问 Web 服务)的逗号分隔的列表,例如,https://machine.esri.com, http://host.arcgis.com, https://gisserver.example.com。
注:
在域名中不能使用 * 通配符替代计算机名(例如 https://*.example.com)。 必须在列表中指定完全限定的每台计算机域名。
- 单击保存。