在上一篇博文中详细介绍了跨域的解决方案,跨域问题详解
GeoServer作为被调用方通过filter方案实现跨域资源的访问。
GeoServer 2.10.1及以上版本设置:
-
1、下载平台独立二进制(捆绑在Jetty中的GeoServer Web应用程序)
将geoserver-2.15.2\lib中的jetty-servlets-9.4.12.v20180830.jar和jetty-util-9.4.12.v20180830.jar
拷贝到geoserver-2.15.2\webapps\geoserver\WEB-INF\lib目录中
-
2、修改geoserver-2.15.2\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> <init-param> <param-name>chainPreflight</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>allowedOrigins</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>allowedMethods</param-name> <param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value> </init-param> <init-param> <param-name>allowedHeaders</param-name> <param-value>*</param-value> </init-param> </filter> --> <!-- Uncomment following filter to enable CORS <filter-mapping> <filter-name>cross-origin</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> -->
-
3、重启GeoServer