ArcGIS JavaScript 代理设置

在js开发中经常碰到访问本地服务和外网服务的问题,这就需要跨域访问的事情,在ArcGIS的帮助中已经有这方面的介绍和使用配置。

https://developers.arcgis.com/javascript/jshelp/ags_proxy.html

为什么要配置跨域代理呢,有以下几个场景需要进行跨域配置

(1)、所访问的资源和你的应用不在同一个域中Cross Origin Resource Sharing (CORS)跨域资源共享(CORS)是被禁止的

(2)、应用使用的服务是一个有着Token的安全服务,不想安全密钥Token串在网络上传输

(3)、请求超过2048字符,一般是用一个多边形作为输入参数的时候一般都容易超过,这时候必须要代理了

那么如何配置自己的代理服务器呢?

1、获得代理应用资源  https://github.com/Esri/resource-proxy/releases  进入GitHub中下载Esri提供的代理应用

解压够针对不同的平台有不同的代理应用IIS、Java(Tomcat )、PHP

2、代理部署,以IIS为例,直接将DotNet文件夹放到wwwroot目录下即可

(1)      IIS部署内容

ArcGIS JavaScript 代理设置_第1张图片

在ReadME文件中有详细试用IIS部署和测试的内容,首先部署到IIS根目录,然后进行相关测试

最后设置自己相关跨域内容,在Proxy.config文件中配置需要代理的访问资源,如下

ArcGIS JavaScript 代理设置_第2张图片

在应用程序中指向的代理路径为

2、在你的应用中使用代理设置

可以在程序开始时加入如下

esriConfig.defaults.io.proxyUrl= ""

esriConfig.defaults.io.alwaysUseProxy= false;

或者

urlUtils.addProxyRule({

urlPrefix:"route.arcgis.com",

proxyUrl:""

});

你可能感兴趣的:(ArcGIS JavaScript 代理设置)