首页 > 代码库 > AGS API for JS代理页的使用

AGS API for JS代理页的使用

AGS API for JS代理页的使用

1、概述

代理页即使用后端语言编写的请求转发页面,部署在Web应用端。客户端请求先发送到该代理页,代理页再将该请求转发到服务器处理,服务器处理结果再经代理页转发到客户端。

使用代理页的几种情况:

(1)Web应用部署的服务器与服务所在服务器不同,即存在跨域。

(2)避免将token暴露到客户端。

(3)Web应用最终用户非ArcGIS平台用户。

(4)超出URL地址长度限制(默认2048个字符)。

2、代理页配置与使用

根据后端语言不同,代理页有三种:ASP.NET、Java/JSP、PHP。下载地址见:

https://github.com/Esri/resource-proxy/releases

2.1、代理页配置

将解压后的java文件夹复制到web服务器中,如tomcat/wabapps下。

(1)proxy.config配置

参数

说明

mustMatch=true

只有匹配的URL才走代理。

logFile="本地绝对路径"

日志文件存储路径。

logLevel=" SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST"

日志等级设置。

allowedReferers="http://server.com/application1,https://server.com/application2"

只有匹配的客户端url才走代理。

<serverUrl>

定义需要代理的服务配置。

url=""

可使用根url,但matchAll需设置为false。

matchAll="true"

是否必须匹配。

username

与token服务联合使用。

password

与token服务联合使用。

tokenServiceUri

token服务访问地址。

clientId

与OAuth认证联合使用。

clientSecret

与OAuth认证联合使用。

oauth2Endpoint

与OAuth认证联合使用。默认值:https://www.arcgis.com/sharing/oauth2/

rateLimit

特定客户端IP发送的最大请求数,周期由rateLimitPeriod定义。

rateLimitPeriod

默认60分钟。

(2)取消web服务器文件列表功能

为保证proxy.config文件的安全,需关闭Web服务器文件列表功能,可通过url测试:

http://[yourmachine]/proxy/proxy.config

2.2、代理页使用

(1)方法1

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

esriConfig.defaults.io.alwaysUseProxy = false;

其中esriConfig需要引入esri/config模块。

(2)方法2

使用代理规则,即定义资源url前缀,请求URL与规则中定义的前缀匹配时使用代理页。

urlUtils.addProxyRule({

urlPrefix: "route.arcgis.com",

proxyUrl: "<url_to_proxy>"

});

其中urlUtils需要引入esri/urlUtils模块。

2.3、测试

可使用url地址测试:

http://[yourmachine]/Java/proxy.jsp?http://services.arcgisonline.com/ArcGIS/rest/services/?f=pjson

?

?

?

AGS API for JS代理页的使用