GeoServer跨域设置

简介: 版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/51784781     我们通常需要通过ajax跨域访问GIS服务,GeoServer默认是不支持跨域的,通常直接访问浏览器会报类似:XMLHttpRequest 、not allowed by Access-Control-Allow-Origin的错误提示。
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/51784781

    我们通常需要通过ajax跨域访问GIS服务,GeoServer默认是不支持跨域的,通常直接访问浏览器会报类似:XMLHttpRequest 、not allowed by Access-Control-Allow-Origin的错误提示。

一、GeoServer 2.3.2版本设置

1、下载跨域文件CrossOriginFilter.class并将插件放入<Geoserver>\webapps\geoserver\WEB-INF\classes下

最后形成的文件和目录是:

<Geoserver>\webapps\geoserver\WEB-INF\classes\org\mortbay\servlets\CrossOriginFilter.class

2、设置跨域配置。打开<Geoserver>\webapps\geoserver\web.xml文件,找到文件中<filter>平级的位置,添加如下内容

    ...
    <filter>
        <filter-name>cross-origin</filter-name>
        <filter-class>org.mortbay.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服务。

二、GeoServer 2.10.1及以上版本设置(通用设置方法)

1、下载跨域jar包jetty-servlets.jar(下载geoserver使用的对应jetty版本)并将jar包放到<Geoserver>\webapps\geoserver\WEB-INF\lib文件夹下。

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

   <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服务。


相关文章
|
5月前
|
JavaScript 前端开发 安全
nodejs 跨域设置
nodejs 跨域设置
42 0
fastadmin设置跨域
fastadmin设置跨域
652 0
|
应用服务中间件 nginx
https网页加载http资源时不显示图片,报错解决方案
本文是博主学习网络知识的记录,希望对大家有所帮助。
3552 0
https网页加载http资源时不显示图片,报错解决方案
|
应用服务中间件 Nacos nginx
跨域配置
跨域配置
410 0
跨域配置
|
20天前
谷歌浏览器跨域设置都是127.0.0.1出现跨域
谷歌浏览器跨域设置都是127.0.0.1出现跨域
23 0
|
9月前
|
JSON 移动开发 前端开发
浏览器:跨域及解决方法
浏览器:跨域及解决方法
306 0
|
10月前
|
Web App开发 存储 安全
浏览器跨域的配置
浏览器跨域的配置
浏览器跨域的配置
|
Web App开发 前端开发 Java
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
1148 0
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
设置浏览器允许跨域访问
设置浏览器允许跨域访问
139 0