geoserver 跨域解决方案

geoserver 默认是不允许跨域的,因此需要进行跨域设置

方法一:修改geoserver的相关设置。(以geoserver 2.13.2为例)

步骤一: 修改web.xml配置

在webapps/geoserver/WEB-INF/web.xml中,

<!-- Uncomment following filter to enable CORS -->
<!-- <filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter> -->

<!-- Uncomment following filter to enable CORS -->
<!-- <filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> -->

将注释去掉,改为

<!-- Uncomment following filter to enable CORS -->
<filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter> 

<!-- Uncomment following filter to enable CORS -->
<filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!--geoserver的各版本的web.xml中cors的注释大同小异,与本文的可能不太一样,
可参看注解 " Uncomment following filter to enable CORS"。
如没有,则手动添加. -->

步骤二: 判断jetty.servlets.jar是否存在
然后在webapps/geoserver/WEB-INF/lib中,是否存在jetty.servlets.jar。如不存在,则需要在网上下载相对应的jar包。
下载地址为:http://central.maven.org/maven2/org/eclipse/jetty/jetty-servlets/
此外,需要下载相对应的依赖包jetty-http.jar和jetty-util.jar。
jar版本查看方式:在https://github.com/geoserver/geoserver/blob/2.13.x/src/pom.xml的中有jar对应的版本说明。

geoserver 版本 jetty-servlets 、jetty-http 、jetty-util
v2.15.x v 9.4.12.v20180830
v2.14.x 9.2.13.v20150730
v2.13.x 9.2.13.v20150730
v2.12.x 9.2.13.v20150730
v2.11.x 9.2.13.v20150730
v2.10.x 9.2.13.v20150730

如果采用exe安装geoserve的方式,会在geoserver/lib中找到相应的jar.

步骤三: 重启geoserver

方法二:采用nginx进行代理。

在 D:\nginx-1.15.11\conf\nginx.conf中

server {
        listen       8089;
        server_name  localhost;

        location /geoserver {
			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
			add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
			proxy_pass http://192.168.99.56:8080;
        }
    }

nginx相关配置请查看官方帮助文档

猜你喜欢

转载自blog.csdn.net/u013240519/article/details/89295748