GateWay坑——context-path

环境准备

eureka,gateway,要路由的服务(bit-msa-pasm-api)

正确路由

context-path和application.name不一致

在这里插入图片描述

注册中心

在这里插入图片描述

Gateway网关设置

在这里插入图片描述

访问结果

直接访问bit-msa-pasm-api
在这里插入图片描述
通过网关访问访问bit-msa-pasm-api
在这里插入图片描述

路由失败

context-path和application.name一致

在这里插入图片描述

注册中心

在这里插入图片描述

Gateway网关设置

在这里插入图片描述

访问结果

直接访问bit-msa-pasm-api
在这里插入图片描述

通过网关访问访问bit-msa-pasm-api
在这里插入图片描述

路由失败-原因

若配置路由URI为lb,则注册中心服务名称不能和server.servlet.context-path名称一致,否则contextPath会被改写为空字符串;

路由失败-解决方案

gateway.discovery.locator

重写过滤链

server:
 port: 8899
spring:
 cloud:
   gateway:
     discovery:
       locator:
         #是否与服务发现组件进行结合,通过serviceId转发到具体实例
         #是否开启基于服务发现的路由规则
         enabled: true
         ##表示将请求路径的服务名配置改成小写 ,因为服务注册的时候,向注册中心注册时将服务名转成大写的了
         lowerCaseServiceId: true
         filters:
           - StripPrefix=0
     routes:
       - id: after_route
         uri: lb://bit-msa-pasm-api
         predicates:
           - Path=/bit-msa-pasm-api/service/**

方案一

在这里插入图片描述

在这里插入图片描述

方案二

在这里插入图片描述
在这里插入图片描述

包装一层前缀

server:
  port: 8899
spring:
  cloud:
    gateway:
      discovery:
        locator:
          #是否与服务发现组件进行结合,通过serviceId转发到具体实例
          #是否开启基于服务发现的路由规则
          enabled: true
          ##表示将请求路径的服务名配置改成小写 ,因为服务注册的时候,向注册中心注册时将服务名转成大写的了
          lowerCaseServiceId: true
      routes:
        - id: after_route
          uri: lb://bit-msa-pasm-api
          predicates:
            - Path=/xxx/bit-msa-pasm-api/service/**
          filters:
            - StripPrefix=1

在这里插入图片描述

在这里插入图片描述

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

weixin_43303455

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值