关于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.jarjava-property-utils-1.9.1.jar 这两个jar包复制到Tomcat 的lib目录下。
3、重启服务即可。

以上两个jar包可到http://www.java2s.com/下载。

posted @ 2022-05-12 16:55  Peninsula  阅读(231)  评论(0编辑  收藏  举报