環境: ubuntu16.04
apache: 9.0.13
geoserver: 2.12.4
geoserver問題較為常見,一般來說隻要項目不是像geoserver一樣直接部署在tomcat的webapps下,都會出現這樣的問題,解決方案看網上的資料說是有好幾種,但對我來說最簡單最有效的方式則是通過下載下傳中間件來使得項目能夠跨域通路geoserver釋出的資料,接下來會講到。其他方法嘗試了部分,但都有問題,未能解決我的問題。
下面的方法對我的環境适用,不能保證适用于所有環境,如果此方法無效,請嘗試其他方法。
解決方法
首先下載下傳下面兩個jar檔案,版本可選擇最新版本。
java-property-utils下載下傳
cors-filter下載下傳
移動到geoserver/WEB-INF/lib/下,然後修改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.tagRequests</param-name>
<param-value>true</param-value>
</init-param>
</filter>
然後在與filter-mapping平級的位置寫入下述代碼:
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
完成上述工作後,重新開機tomcat,即在進入到tomcat/bin目錄下,輸入如下兩個指令:
./shutdown.sh
./start.sh
重新整理項目頁面,驗證是否解決跨域問題。
以上,歡迎交流。