解决Spring Cloud Zuul跨域时出现重复Access-Control-Allow-Origin或者Access-Control-Allow-Credentials

编程知识 更新时间:2023-04-06 09:57:55

前端报错:

XMLHttpRequest cannot load http://localhost:8080/serviceA/api/serviceA/1337?cacheBuster=1470925389167.
The Access-Control-Allow-Origin header contains multiple values 'http://localhost:3000, http://localhost:3000', but only one is allowed. 
Origin 'http://localhost:3000' is therefore not allowed access.

解决方案:

情况1:配置了多次跨域,如在前端vue配置了一次跨域,后端spring zuul配置了一次跨域或nginx配置了一次跨越。此时只需要关闭某几种,留下一种即可。

情况2:单纯是的只配置了spring zuul一次跨域,还出现重复跨域,此时只需要在网关配置文件中加入:

zuul:
  ignored-headers: Access-Control-Allow-Credentials, Access-Control-Allow-Origin

情况2的原因:

zuul网关为了解决跨域问题,设置了response的Access-Control-Allow-Origin为客户端orgin,Access-Control-Allow-Origin:http://localhost:8080,然后服务网关访问微服务将response中的Access-Control-Allow-Origin:http://localhost:8080带了过去,微服务为了解决跨域,又在Access-Control-Allow-Origin中加了客户端orgin,Access-Control-Allow-Origin:http://localhost:8080,http://localhost:8080

更多推荐

解决Spring Cloud Zuul跨域时出现重复Access-Control-Allow-Origin或者Access-Control-Allow-Cred

本文发布于:2023-04-06 09:57:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/b903ddd2eb687fbb2558a949ffd60e1f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Zuul   跨域时   Spring   Cloud   Origin

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 48930文章数
  • 14阅读数
  • 0评论数