默认情况下,ArcGIS Server 允许跨域请求,因此 JavaScript 客户端可从任意域调用服务器服务。
如要限制 JavaScript 应用程序对特定域的请求,可将 ArcGIS Server 配置为仅信任特定域。可以使用 ArcGIS Server Administrator Directory 进行此设置。
限制来自 JavaScript 应用程序的请求
默认情况下,ArcGIS Server 允许 JavaScript 应用程序访问所有 Web 服务。名为 AllowedOrigins 的属性可以控制此行为(其默认设置为通配符 *)。如要阻止其他域中的特定 JavaScript 应用程序使用您的 Web 服务,则可更改 AllowedOrigins 值以包含一个仅有信任域的列表。这样可降低未知应用程序向 Web 服务发送恶意命令的可能性。
注:
AllowedOrigins 属性中拒绝的主机将允许通过对允许进行 CORS 请求的主机没有任何限制的 Web 服务器、反向代理或者负载均衡器发送的请求。要与您的 ArcGIS Server 站点遵循相同的限制,您必须配置 Web 服务器、反向代理或负载均衡器。
- 打开 ArcGIS Server Administrator Directory,然后以具有服务器管理访问权限的用户身份登录。URL 地址格式为 https://gisserver.domain.com:6443/arcgis/admin。
- 单击 system > handlers > rest > servicesdirectory。
- 在服务目录页面中,单击编辑。
- 在 AllowedOrigins 字段中,指定一个包含计算机及其域名(可访问 Web 服务,例如 https://machine.esri.com, http://host.arcgis.com, https://gisserver.example.com)的逗号分隔的列表。
注:
在域名中不能使用 * 通配符替代计算机名(例如 https://*.example.com)。必须在列表中指定完全限定的每台计算机域名。
- 单击保存。