• Geoserver跨域问题


    1 Geoserver位war包,使用Tomcat发布的情况

    由于geoserver为war形式,需要解决tomcat跨域问题,geoserver版本为2.9.1。

    (1)下载跨域war包

    下载cors-filter-1.7.jar,Java-property-utils-1.9.jar这两个库文件,放到tomcat的lib目录下,即ApacheTomcatlib。

    Download eoserver_CROS_jar.rarcesium加载资源目标站点跨域设置.rar (NEW)


    (2) 修改ApacheTomcatwebappsgeoserverWEB-INFweb.xml中的配置文件

        <filter>    
            <filter-name>CORS</filter-name>    
            <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>    
            <init-param>    
             <param-name>cors.allowOrigin</param-name>    
                <param-value>*</param-value>    
            </init-param>    
            <init-param>    
             <param-name>cors.supportedMethods</param-name>    
                <param-value>GET, POST, HEAD, PUT, DELETE</param-value>    
            </init-param>    
            <init-param>    
             <param-name>cors.supportedHeaders</param-name>    
                <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>    
            </init-param>    
            <init-param>    
                <param-name>cors.exposedHeaders</param-name>    
                <param-value>Set-Cookie</param-value>    
            </init-param>    
            <init-param>    
                <param-name>cors.supportsCredentials</param-name>    
                <param-value>true</param-value>    
            </init-param>    
        </filter>    
        <filter-mapping>    
            <filter-name>CORS</filter-name>    
            <url-pattern>/*</url-pattern>    
        </filter-mapping>  

    (3)然后重启geoserver 就好了。

    2 自行安装Geoserver方式下的跨域的解决

    Geoserver的跨域资源访问需要修改2个地方:

    • GeoServer 2.11.2/webapps/geoserver/WEB-INF/web.xml
    • GeoServer 2.11.2/webapps/geoserver/WEB-INF/lib

    (1) 修改web.xml

    打开Geoserver安装目录下webapps/geoserver/WEB-INF/web.xml。
    找到filter和filter-mapping相邻的地方。发现有2处xml被注释掉了。上面写的:Uncomment following filter to enable CORS 。所以,我们把下面的注释去掉即可。
    去掉后如下所示:

    (2) 拷贝jetty-servlets-9.2.13.v20150730.jar到Geoserver的安装目录下的lib目录

    上面提到过,需要jetty-servlets-9.2.13.v20150730.jar这个文件,我们是如何确实是9.2.13.v20150730这个版本号的呢?可以到Geoserver的安装目录下的lib文件夹中查看,如下:

    这样就可以确定,我们需要的jetty-servlets版本是9.2.13.v20150730了。

    https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-servlets

    或者这里:http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-servlets/ 下载即可。

    下载后,将jetty-servlets-9.2.13.v20150730.jar复制到Geoserver安装目录下的webapps/geoserver/WEB-INF/lib文件夹中。

    (3)重启Geoserver服务

    在Windows下方的任务栏空白处右键单击,选择任务管理器。点击对话框左下角的【详细信息】,就会展开详细页。找到【服务】这个页签。在geoserver项上右键单击重启即可。

    参考文章

    GeoServer配置CORS(跨域资源共享)

    解决Geoserver请求跨域的几种思路

    geoserver跨域问题解决方案

    Geoserver 2.11.2安装及CORS跨域资源访问配置

     

  • 相关阅读:
    java Jquery表单校验代码jsp页面
    IntelliJ IDEA 2016.1.1(64) 长时间激活教程
    maven 仓库
    java学习路线
    json 源码包
    centos 安装docker
    实现高并发
    将MongoDB安装成为Windows服务
    给mongodb设置密码权限
    MongoDB的win安装教程
  • 原文地址:https://www.cnblogs.com/arxive/p/8673399.html
Copyright © 2020-2023  润新知