springCloud2021版本创建gateway服务,请求转发报错503

作者在升级SpringBoot和SpringCloudAlibaba版本后遇到503错误,怀疑是版本不匹配和跨域配置问题。解决方法包括确保SpringCloud和AlibabaCloud版本一致,检查路由配置及添加spring-cloud-starter-loadbalancer依赖以替代Ribbon。
摘要由CSDN通过智能技术生成

记录一个想了一晚上没想明白的问题,就是在搭建gateway的时候,将之前写的gateway工程完全cv进来,都能正常启动注册到nacos,但是在测试请求的时候,之前的gateway服务能够正常请求转发到别的服务,新搭建的就是报错503,控制台也打印错误。一直转发不了到其他服务,

迷之操作

第一:我怀疑是我搭建的版本springboot2.6.5,cloud2021.0.1,alibaba2021.0.1.0,之前的项目使用的老版本springboot2.2.5.RELEASE,cloud H版本,alibaba2.2.1.RELEASE。

第二:我的yml没有配置正确,我百度了一下,有一个说到配置gateway的跨域配置globalcors在cloud2021版本跟之前老cloud版本写法不同。我就想不明白这跟跨域有什么关系呢,一直困扰改了了一晚上,怀疑过字符没设置utf8,怀疑多加了空格在写yml的时候,等等一系列操作。

获取解决的方案:

一:springcloud版本跟alibaba版本不一致。

版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub

二:配置路由是否正确

spring:
  application:
    name: service-gateway #服务名
  cloud: #注册到Nacos
    nacos:
      discovery:
        server-addr: :8848
    gateway:
      discovery:
        locator:
          enabled: false #开放服务名访问方式
          lower-case-service-id: true #服务名小写
      routes: #路由配置
        - id : service-system #指定服务名
          uri: lb://service-system #去注册中心找这个服务名
          predicates:    #断言,匹配访问的路径
            - Path=/grc/syasstem/**	#服务访问路径
          filters:
            - StripPrefix=2
      globalcors: #跨域配置
        add-to-simple-url-handler-mapping: true
        cors-configurations:
          '[/**]':  #拦截的请求
            allowedOriginPatterns: "*" #允许跨域的请求
            allow-credentials: true #是否允许携带cookie
            allowedHeaders: "*" #允许请求中携带的头信息
            allowedMethods: #运行跨域的请求方式
              - GET
              - POST
              - DELETE
              - PUT
              - PATCH
              - OPTIONS
              - HEAD
              - CONNECT
              - TRACE
#            maxAge: 36000 #跨域检测的有效期,单位s

三:添加个依赖。

<--
springcloud2020弃用了Ribbon,Alibaba在2021版本nacos中删除了Ribbon的jar包,因此无法通过lb路由到指定微服务-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值