geoserver跨域问题解决
geoserver版本2.18
问题描述:在cesium中无法调用geoserver发布的wms,查了下是geoserver默认不支持跨域。
实施过程:网上说的方法基本上都是geoserver根目录下lib里的jetty-servlets、jetty-util、jetty-http三个文件拷入到webapps\geoserver\web-inf\lib下。同时将geoserver下的web.xml文件相应的CORS注释去掉即可。
但是我这么做了之后,geoserver无法启动,报503错误。后来发现是web.xml修改错了位置。geoserver里面配置了两种跨域方式,一种是jetty,即geoserver默认的bat启动方式。一种是tomcat,即geoserver放到tomcat里启动。我的是前者,我在xml里搜索CORS没看就直接改了。必须把Jetty的注释去掉才有效,我却是把Tomcat的注释去掉了。一点不细心,谬之千里。
接下来吧filter -mapping的注释也去掉,重启geoserver即可。