美文网首页
Netflix Zuul设置允许访问跨域

Netflix Zuul设置允许访问跨域

作者: 指间砂的宿命 | 来源:发表于2018-11-11 11:27 被阅读9次

zuul作为统一网关代理所有后台接口,对于代码发起的http请求自然无需在意跨域的问题,但是对于提供给前端访问的接口,由于浏览器的安全策略对于跨域的资源访问会被拦截。
具体的关于CORS(Cross-Origin Resource Sharing)问题解析可以参考链接: 详解js跨域问题

1.Zuul配置允许CORS

zuul:
   sensitiveHeaders: Cookie,Set-Cookie
   ignored-headers: Access-Control-Allow-Credentials, Access-Control-Allow-Origin, Access-Control-Allow-Methods

将网关层的CORS放开

2.Spring配置CorsFilter

在完成第一步之后,对于Springboot项目接口,依旧会提示跨域,这是因为网关背后的每一个微服务有可能没有设置CORS,为了让每一个接口都支持CORS,因此需要在Zuul中配置CorsFilter, 代码如下:

  @Bean
  public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedMethod("*");
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }

这样在页面测试时,就能保证所有的接口都是支持CORS的了

相关文章

  • Netflix Zuul设置允许访问跨域

    zuul作为统一网关代理所有后台接口,对于代码发起的http请求自然无需在意跨域的问题,但是对于提供给前端访问的接...

  • SpringCloud跨域出现的问题

    zuul网关层设置关于,不在后端设置跨域

  • Nodejs 设置跨域

    设置允许所有域名跨域: 设置允许指定域名“http://www.tefang.cn”跨域: 设置允许多个域名跨域:...

  • Node.js如何设置允许跨域

    设置允许所有域名跨域: 设置允许指定域名“http://www.zhangpeiyue.com”跨域: 设置允许多...

  • 前端跨域

    CORS跨域 1.CORS跨域-服务端设置,前端直接调用说明:后台允许前端某个站点进行访问 2.JSONP跨域-前...

  • C# Web直接上传视频或者文件到OSS

    代码 解决本地调试跨域问题 设置跨域规则:找到OSS存储——Bucket列表——基础设置——跨域访问——设置 暴露...

  • Django设置允许跨域访问

    安装django-cors-headers 修改settings.py

  • JW-JSONP

    去年学习React时碰到过JS跨域访问的问题,当时尝试的解决方案有Jsonp、服务器允许跨域、设置Content-...

  • 跨域的解决方案

    1通过cors设置cors头解决跨域,也可以针对一个接口使用cors()中间件解决跨域 2通过设置响应头访问允许控...

  • Android WebView高风险问题解决

    A.WebView跨域访问漏洞: 在Android应用中,WebView开启了file域访问,允许file域访问h...

网友评论

      本文标题:Netflix Zuul设置允许访问跨域

      本文链接:https://www.haomeiwen.com/subject/ytdxfqtx.html