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目錄下,即ApacheTomcat\lib。
Download eoserver_CROS_jar.rar;cesium加載資源目標站點跨域設置.rar (NEW)

(2) 修改ApacheTomcat\webapps\geoserver\WEB-INF\web.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
(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 2.11.2安裝及CORS跨域資源訪問配置
