geoserver發(fā)布服務(wù)完成之后,很重要的一個應用場景是前端服務(wù)調(diào)用,來展示服務(wù)數(shù)據(jù),那么很可能遇到一個跨域問題,今天我們分享一下跨越問題的多種解決方案,來適用不同需求的業(yè)務(wù)場景。
一、nginx服務(wù)均衡策略
如果你的項目正在使用nginx,那么很簡單操作,在conf/nginx.conf文件里面添加一個路由配置
1、添加路由
location /geoserver{
proxy_pass http://127.0.0.1:8080/geoserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
#proxy_pass http://mape.shanghai-map.net/arcgis/;
#index index.html index.htm;
# 指定允許跨域的方法,*代表所有
add_header Access-Control-Allow-Methods *;
# 預檢命令的緩存,如果不緩存每次會發(fā)送兩次請求
add_header Access-Control-Max-Age 3600;
# 帶cookie請求需要加上這個字段,并設(shè)置為true
add_header Access-Control-Allow-Credentials true;
# 表示允許這個域跨域調(diào)用(客戶端發(fā)送請求的域名和端口)
# $http_origin動態(tài)獲取請求客戶端請求的域 不用*的原因是帶cookie的請求不支持*號
add_header Access-Control-Allow-Origin $http_origin;
# 表示請求頭的字段 動態(tài)獲取
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
}
配置里有關(guān)于跨越的配置,可以認真看一下。
2、重啟nginx服務(wù),前端就可以調(diào)用了
二、配置tomcat
如果是采用war包形式部署的geoserver服務(wù),那么tomcat容器是一個不錯的選擇。
1、配置web.xml
進入tomcat的conf/web.xml
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三、修改配置geoserver服務(wù)
1、去掉相應注釋
geoserver下的web.xml文件相應的CORS注釋去掉
apache-tomcat-7.0.72\webapps\geoserver\WEB-INF\web.xml 路徑
把此注釋去掉。
2、引入jar包
在geoserver安裝目錄,打開lib文件夾:
apache-tomcat-7.0.72\webapps\geoserver\WEB-INF\lib
放入以下三個jar:
然后重啟tomcat服務(wù)就OK了。
四、前端配置
前端配置跨越我不太專業(yè),大家可以參考以下這些博客:
前端處理跨越
跨越問題解決參考文章來源:http://www.zghlxwxcb.cn/news/detail-771080.html
到此,geoserver跨域問題多種解決方案分享完成,下篇我們分享圖層數(shù)據(jù)的多種樣式配置方法,敬請期待!文章來源地址http://www.zghlxwxcb.cn/news/detail-771080.html
到了這里,關(guān)于geoserver跨域問題多種解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!