spring-gateway的yml配置信息

application.yml

spring:
  application:
    name: sysgateway
  cloud:
    gateway:
      globalcors:
        cors-configurations:
          '[/**]': # 匹配所有请求
            allowedOrigins: "*" #跨域处理 允许所有的域
            allowedMethods: # 支持的方法
            - GET
            - POST
            - PUT
            - DELETE
      routes:
      - id: goods
        uri: lb://goods   # lb:使用LoadBalancerClient 实现负载均衡,后面goods是微服务的名称【主要应用于集群环境】
        predicates:
          - After=2021-01-01T01:01:01+08:00[Asia/Shanghai]  # 表示,请求时间在 2021-01-01T01:01:01+08:00[Asia/Shanghai] 时间之后,才会被路由。
          # 除After之外,还有两个关键字:(1)Before,表示在某个时间点之前进行请求转发;(2)Between,表示在两个时间点之间,两个时间点用 , 隔开
          - Host=cloud.it.com** #所有以cloud.it.com的请求将请求交给上面的uri服务处理 
          - Path=/goods/**  #请求路径过滤
          - Method=GET  # 通过请求方式进行匹配
          - Query=name  # 通过参数进行匹配,表示请求中一定要有name参数才会进行转发。
          - Query=name,java.*  # Query也可以指定参数和参数的值,例如:参数的key为name,value必须要以java开始
        filters:
         - AddRequestParameter=name,javaboy  # 在请求转发路由的时候,自动额外添加参数。
         - PrefixPath=/goods   #用户所有请求路径中都加一个goods前缀,例如,请求http://xxx:8080--->真是请求为:http://xxx:8080/goods
         - StripPrefix= 1  #会将请求路径中的第一个路径过滤掉,例如:请求http://xxx:8080/api/goods--->真是请求为:http://xxx:8080/goods
server:
  port: 9101
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8060/eureka
  instance:
    prefer-ip-address: true
Spring Cloud Gateway 是一个基于 Spring Framework 5、Project Reactor 和 Spring Boot 2 的反应式 API 网关。它旨在为微服务架构提供一种简单而有效的方式来路由请求,并提供一些常见的网关功能,如过滤器、负载均衡、熔断等。 而 Nacos 是一个动态服务发现、配置管理和服务管理平台,它提供了一种简单易用的方式来管理和配置微服务。可以通过 Nacos 提供的配置心功能,实现动态配置 Spring Cloud Gateway 的路由规则。 下面是使用 Nacos 配置文件的动态路由的步骤: 1. 添加依赖:在 pom.xml 文件添加以下依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 2. 配置 Nacos:在 application.properties 或 application.yml 文件配置 Nacos 的地址和其他相关配置: ```yaml spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.server-addr=127.0.0.1:8848 ``` 3. 创建动态路由配置文件:在 Nacos 的配置心创建一个配置文件,例如 `gateway-route.yaml`,内容如下: ```yaml spring: cloud: gateway: routes: - id: demo_route uri: http://httpbin.org:80 predicates: - Path=/get ``` 4. 启用动态路由配置:在 Spring Cloud Gateway配置添加 `@RefreshScope` 注解,以支持动态刷新配置: ```java @Configuration @RefreshScope public class GatewayConfig { // 配置相关的 Bean } ``` 5. 启动应用程序:启动 Spring Boot 应用程序,并确保 Nacos 服务正常运行。 6. 动态刷新路由配置:在 Nacos 的配置心修改 `gateway-route.yaml` 文件的路由信息,并发布配置。 7. 查看动态路由:访问 Spring Cloud Gateway 的管理端点 `/actuator/gateway/routes`,可以看到动态路由已经生效。 通过以上步骤,就可以实现基于 Nacos 配置文件的动态路由。需要注意的是,Nacos 配置心支持监听配置变更,当配置文件发生变化时,Spring Cloud Gateway 会自动刷新路由配置,无需重启应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值