当前位置: 代码网 > it编程>编程语言>Java > springcloud微服务跨域的配置小结

springcloud微服务跨域的配置小结

2025年12月03日 Java 我要评论
注意:关于跨域,不同的跨域类型需要不同的配置一、相同的二级域名之间的跨域最近在处理跨域问题的时候,发现在微服务中配置允许跨域配置,发现也无济于事了。排查发现,之前之所以这样配置能够生效,是因为都是相同

注意:关于跨域,不同的跨域类型需要不同的配置

一、相同的二级域名之间的跨域

最近在处理跨域问题的时候,发现在微服务中配置允许跨域配置,发现也无济于事了。排查发现,之前之所以这样配置能够生效,是因为都是相同的二级域名之间的跨域,比如:service.csdn.com访问api.csdn.com,这种相同的二级域名配置跨域,可以直接在我们的微服务中添加下列配置进行解决

public class webmvcconfig implements webmvcconfigurer {

    @override
    public void addcorsmappings(corsregistry registry) {
        registry.addmapping("/**").allowedorigins("*")
                .allowedmethods("get", "head", "post", "put", "delete", "options")
                .allowcredentials(false).maxage(3600);
    }

}

二、不同的二级域名之间的跨域

什么是不同的二级域名?比如从service.csdn.com站点访问 api.abcd.com的时候,这时候在我们的为服务器中配置上面的配置,你就会发现无济于事,还是会抛出跨域请求异常,这个时候,就需要在我们的springcloud gateway网关的服务里去配置跨域了,具体配置如下:

spring:
  cloud:
    gateway:
       #这个是解决和其他微服务配置的跨域冲突的
      default-filters:
        - deduperesponseheader=vary access-control-allow-credentials access-control-allow-origin
        - deduperesponseheader=access-control-allow-origin
      globalcors:
        cors-configurations:
          '[/**]':
            # 允许跨域的源(网站域名/ip),设置*为全部
            # 允许跨域请求里的head字段,设置*为全部
            # 允许跨域的method, 默认为get和options,设置*为全部
            allow-credentials: true
            # allowedoriginpatterns: "*"
            #这里是配置允许跨域过来的网站,建议用这种
            allowed-origins:
              - "http://service.csdn.com"
            allowed-headers: "*"
            allowed-methods:
              - options
              - get
              - post
              - delete
              - put
              - patch
            max-age: 3600

上述的两种配置,基本就能够解决大多数的跨域问题了。如果在网关里配置跨域了,其实微服务的跨域就可以取消不用了。结合自己的实际情况,选择跨域配置,才是最好的选择。

到此这篇关于springcloud微服务跨域的配置小结的文章就介绍到这了,更多相关springcloud 跨域配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com