博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Geoserver跨域请求设置
阅读量:6006 次
发布时间:2019-06-20

本文共 2228 字,大约阅读时间需要 7 分钟。

 

使用OpenLayers请求GeoServer发布的WFS服务时,如果不是相同的域可能会出现如下问题。

已拦截跨源请求:同源策略禁止读取位于 http://localhost:8080/geoserver/weng_test/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=weng_test: dw_country&maxFeatures=50&outputFormat=application%2Fjson 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

Geoserver 测试版本为 2.12.1。可有以下两种方案。

方案1

(1)下载跨域jar包jetty-servlets.jar

下载geoserver使用的对应jetty版本——可以查看<Geoserver>\lib下jetty-servlet.jar (如,Geoserver 2.12.1 版本下的为 jetty-servlet-9.2.13.v20150730.jar)的版本作为对照。

下载地址:

并将jar包放到<Geoserver>\webapps\geoserver\WEB-INF\lib文件夹下。

 

(2)filter的位置

打开<Geoserver>\webapps\geoserver\WEB-INF\web.xml文件,找到文件中<filter>平级的位置,添加如下内容:

cross-origin
org.eclipse.jetty.servlets.CrossOriginFilter
allowedOrigins
*
allowedMethods
GET,POST
allowedHeaders
x-requested-with,content-type

 (3) filter-mapping设置

找到文件中<filter-mapping>平级的位置,添加如下内容:

cross-origin
/*

(4) 重启Geoserver服务

 

方案2

(1)下载cors-filter-1.7.jar,Java-property-utils-1.9.jar两个库文件

下载后,将其放到<Geoserver>\webapps\geoserver\WEB-INF\lib目录下。

下载地址:

(2)filter设置

打开<Geoserver>\webapps\geoserver\web.xml文件,找到文件中<filter>平级的位置,添加如下内容:

CORS
com.thetransactioncompany.cors.CORSFilter
cors.allowOrigin
*
cors.supportedMethods
GET, POST, HEAD, PUT, DELETE
cors.supportedHeaders
Accept, Origin, X-Requested-With, Content-Type, Last-Modified
cors.exposedHeaders
Set-Cookie
cors.supportsCredentials
true

 (3) filter-mapping设置

找到文件中<filter-mapping>平级的位置,添加如下内容:

CORS
/*

 

 

 

 

 

 

参考文章

  , Tomcat形式的Geoserver跨域设置。

转载地址:http://smsmx.baihongyu.com/

你可能感兴趣的文章
PyQt5 应用在 TeamViewer 下无法使用全屏模式
查看>>
HDOJ_ACM_CUP
查看>>
python数据类型之集合(set)和其常用方法
查看>>
SDUT-3344_数据结构实验之二叉树五:层序遍历
查看>>
汕头市队赛 SRM 06 B 起伏的排名
查看>>
关键帧动画结束后会有短暂停顿
查看>>
对香港印象极差
查看>>
oracle中 connect by prior 递归算法
查看>>
[Noi2014] 魔法森林
查看>>
每日一个机器学习算法——LR(逻辑回归)
查看>>
转载-Webp格式用户Android客户端
查看>>
关键字的作用
查看>>
多态时:成员特点,成员变量
查看>>
【ZZ】常用推荐算法
查看>>
Linux内核中链表的实现与应用【转】
查看>>
创建进程及进程相关方法
查看>>
C语言将字符串转换成对应的数字(十进制、十六进制)【转】
查看>>
正则表达式【TLCL】
查看>>
WebService
查看>>
mybatis的if判断integer
查看>>