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


相关文章
|
JavaScript 前端开发 安全
nodejs 跨域设置
nodejs 跨域设置
88 0
fastadmin设置跨域
fastadmin设置跨域
836 0
|
应用服务中间件 nginx
https网页加载http资源时不显示图片,报错解决方案
本文是博主学习网络知识的记录,希望对大家有所帮助。
4638 0
https网页加载http资源时不显示图片,报错解决方案
|
应用服务中间件 Nacos nginx
跨域配置
跨域配置
480 0
跨域配置
|
2月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
3月前
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
54 0
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
|
5月前
|
JavaScript API
蓝易云 - 如何使用CORS来允许设置Cookie
以上就是使用CORS来允许设置Cookie的方法。
33 2
|
6月前
谷歌浏览器跨域设置都是127.0.0.1出现跨域
谷歌浏览器跨域设置都是127.0.0.1出现跨域
257 0
|
数据安全/隐私保护
网易云音乐如何设置HTTP代理
非常非常的简单,亲妈级别的教程,1分钟立马学会!