关于geoserver\arcgisserver10.2跨域问题(CORS)
geoserver提供两种部署方式:
一是使用安装包直接安装;
二是使用war部署到tomcat中;
两种方式的配置修改方式如下图:
同时两种方式都需要做如下修改:
以上跨域解决方式来源于官方2.22.x的文档。
有一些文章说需要拷贝相应的jar包到lib目录,这种应该是war包的方式部署在服务器中的。
相关链接:https://docs.geoserver.org/2.21.x/en/user/production/container.html#enable-cors
------------https://blog.csdn.net/Bayern233/article/details/116107592
实测用安装包的方式,只需要放开配置文件中相应注释即可。
arcgisserver 10.2跨域解决:
因为arcgis也是用的tomcat,所以和geoserver解决跨域的方式大致相同。
1、修改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.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</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>
2、将cors-filter-1.7.jar和java-property-utils-1.9.1.jar 这两个jar包复制到Tomcat 的lib目录下。
3、重启服务即可。
以上两个jar包可到http://www.java2s.com/下载。