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部署内容


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


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



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


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

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

esriConfig.defaults.io.proxyUrl= "<url_to_proxy>"

esriConfig.defaults.io.alwaysUseProxy= false;

 或者

 urlUtils.addProxyRule({
      urlPrefix
: "route.arcgis.com",
      proxyUrl
: "<url_to_proxy>"
   
});



猜你喜欢

转载自blog.csdn.net/qingyimengwu/article/details/42982057
今日推荐