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代理页的使用的更多相关文章

  1. 大熊君学习html5系列之------History API(SPA单页应用的必备)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...

  2. arcgis api for js入门开发系列二十打印地图的那些事

    前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...

  3. arcgis api for js 地图查询

      arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...

  4. arcgis api for js入门开发系列四地图查询(含源代码)

    备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...

  5. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  6. AGS API for JavaScript 图表上地图

    原文:AGS API for JavaScript 图表上地图 图1 图2 图3 -------------------------------------华丽丽的分割线--------------- ...

  7. arcgis api for js入门开发系列十一地图统计图

    上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...

  8. 转:arcgis api for js入门开发系列四地图查询

    原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...

  9. Arcgis API for JS——打印控件乱码

    在通过Arcgis API for JS编写打印控件进行地图下载时,总发现地图字体乱码,如下图: 解决方法: 在装有ArcGIS Server,要调用服务的电脑或服务器上找到下图文件夹

随机推荐

  1. Hacking Lambda Expressions in Java

    Hacking Lambda Expressions in Javahttps://dzone.com/articles/hacking-lambda-expressions-in-java At t ...

  2. SMB共享

    [root@samba1 ~]# yum install samba samba-client  samba-common -y 因为只有真实存在的用户才能在samba中建立,所以我们新建两个测试用户 ...

  3. (转)Shell分析服务器日志

    一.目录 转载链接:https://mp.weixin.qq.com/s/W1ekSiHgbGInqQ9HmZaJDA 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站 ...

  4. css提取数据2个常用方法

    提取标签里的内容 所谓数据就是HTML里标签的内容,如下面红色字体,就是标签内容 <title>我只是个实验 - SCRAPY</title> 提取标签里的数据,标签可以是ti ...

  5. Paxos算法的通俗理解(转)

    维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性 ...

  6. 在ionic3+angular4项目中添加自定义图标

    在阿里图标库下载自己所需要的图标解压为一下目录 把iconfont.xx文件全部放到src/assets/fonts/文件夹下,可以全部替换里面的文件,但是要把之前iconfont.css文件下的文件 ...

  7. Oracle 锁机制

    本文参考自:ORACLE锁机制 1.oracle是一个多用户使用的共享资源,当多个用户并发的操作同一数据行时,那么在oracle数据库中就会存在多个事务操作统一数据行的操作,如果不对并发操作进行控制, ...

  8. sencha touch 手势识别左右滑动

    sencha touch 中添加手势识别非常简单,就是监听 dom 元素的 move 事件: 1. 为你的 view 注册 swipe 事件 // 为当前 view 注册手势滑动事件 Ext.get( ...

  9. 使用自动化恶意软件分析cuckoo分析exe程序

    Cuckoo是一款监控函数调用,监控文件读写,监控注册表读写等的自动化恶意分析软件. 包括apk.exe.pdf等多种文件的分析,将任务提交给数据库,host从数据库中读取任务,将样本放入虚拟机中运行 ...

  10. JVM Run-Time Data Areas--reference

    http://www.programcreek.com/2013/04/jvm-run-time-data-areas/ This is my note of reading JVM specific ...