解决geoserver跨域问题

时间:2023-02-01 09:34:00
 
一、GeoServer 2.10.1及以上版本设置(通用设置方法)
 
1、下载跨域jar包 点我下载(下载geoserver使用的对应jetty版本,提取码:fndr)并将jar包放到Geoserver安装目录 \webapps\geoserver\WEB-INF\lib文件夹下。
 
注:a. 我的geoserver 版本是2.15.0,下载的jar包是:jetty-servlets-9.4.12.v20180830.jar和jetty-util-9.4.12.v20180830
 
       b. 必须同时下载jetty-servlets-9.4.12.v20180830.jar和jetty-util-9.4.12.v20180830两个jar包,否则geoserver启动会报错(可能版本不一样或者下载的jar包不同有所区别)。
 
解决geoserver跨域问题解决geoserver跨域问题
 
2、设置跨域配置。打开Geoserver安装目录 \webapps\geoserver\WEB-INF\web.xml文件,找到文件中<filter>平级的位置,添加如下内容
 
解决geoserver跨域问题解决geoserver跨域问题
 
解决geoserver跨域问题解决geoserver跨域问题
解决geoserver跨域问题解决geoserver跨域问题
解决geoserver跨域问题
 
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>
org.eclipse.jetty.servlets.CrossOriginFilter
</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>GET,POST</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>x-requested-with,content-type</param-value>
</init-param>
</filter>
 
找到文件中<filter-mapping>平级的位置,添加如下内容
<filter-mapping>
   <filter-name>cross-origin</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
 
3、重启GeoServer服务。