gateway路由转发失败

在springcloud nacos配置中,当我们去配置一项gateway网关微服务时,网关微服务启动项目配置如下:

除此之外,需要在Nacos共享配置中添加额外的配置,即配置当前网关下转发服务路径

spring:
  cloud:
    gateway:
      globalcors:
        cors-configurations:
          '[/**]': # 匹配所有请求
            allowedOrigins: "*" #跨域处理 允许所有的域
            allowedMethods: # 支持的方法
              - GET
              - POST
              - PUT
              - DELETE
      routes:
        # 平台管理
        - id: web
          uri: lb://leadnews-web
          predicates:
            - Path=/web/**
          filters:
            - StripPrefix= 1

以上可以看到,当请求的路径抵达网关微服务,将通过上面中的 routes 路由进行请求转发到leadnews-web微服务中(微服务需要启动)

然而,当我不走gateway网关直接访问leadnews-web服务能够访问成功,如下:

而我转向走网关微服务时,改变端口号再进行访问,如下:

 

发生了报错,说明请求是有问题的

经过排查,发现是在路由请求中,需要的请求路径是web/**,如下:

 

而正因为本次的项目请求有web开头,所以造就了以为有了,如下

 

但实际情况是,当访问网关微服务时候,必须加上web/才能进行请求转发,也就是说,后面的web/login/in属于web微服务内容,而gateway微服务请求转发时候,必须是web/,所以改成:

web/web/login/in即可成功

 

通过这次小问题,springcloud网关微服务转发又有了新的认识! 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值