Geoserver跨域问题解决方法

环境:

Java7+Tomcat8.0.20+Geoserver2.7.6(war版)

解决步骤:

1、修改%CATALINA_HOME%/webapps/geoserver/WEB-INF/web.xml文件内容:

    在filter标签部分添加代码:

<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.supportsCredentials</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>cors.supportedHeaders</param-name>
            <param-value>accept, authorization, origin</param-value>
        </init-param>
        <init-param>
            <param-name>cors.supportedMethods</param-name>
            <param-value>GET, POST, HEAD, OPTIONS</param-value>
        </init-param>

 </filter>

   在filter-mapping标签部分添加代码:
<filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

2、下载jar包:cors-filter-2.3.jar,Java-property-utils-1.9.1.jar,并将其放入%CATALINA_HOME%/webapps/geoserver/WEB-INF/lib文件夹中。

3、重启geoserver。(可能还需要重启Tomcat)

跨域问题解决。

Tips:

1、注意Java,Tomcat以及GeoServer的版本是否匹配,有些版本不兼容,或者有bug,或者功能不完善!

2、%CATALINA_HOME%是Tomcat的安装目录,在环境变量中可以找到。例如,在我的电脑上是C:\Software\Tomcat-9.0。

3、两个jar包都需要正确放入!若只配置了web.xml,或是配置了web.xml缺少jar包,GeoServer都将无法正常启动!

转载自:https://blog.csdn.net/a20100997/article/details/80073991

You may also like...