Tomcat下面部署Geoserver的跨域访问问题

同源策略:相同的域、相同的端口、相同的协议。试图访问上述限制之外的资源,就会引发安全错误。除非采用被认可的跨域解决方案。

CORS(Cross-Origin Resource Sharing,跨源域资源共享),基本思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或相应是成功还是失败。跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。

1、将geoserver部署到tomcat之后,打开tomcat下webapps\geoserver\WEB-INF目录下的web.xml文件,添加一下内容,重启tomcat即可。

    <filter>  
        <filter-name>CorsFilter</filter-name>  
        <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>CorsFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>

转载自:https://blog.csdn.net/qq_24622397/article/details/78344221

You may also like...

退出移动版