spring|雷神《谷粒商城》spring-cloud-alibaba(阿里巴巴网关)gateway3.0.4,配置问题

谷粒商城,中使用阿里巴巴网关使用3.0.4过程中遇到的配置问题
1.ribbon被弃用问题,使用了loadbalancer
修改common配置(去除ribbon,引用loadbalancer)

com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.cloud spring-cloud-starter-netflix-ribbon org.springframework.cloud spring-cloud-starter-loadbalancer 3.0.4

2.网关参数Rewrite参数变化。查看gateway对应版本文档,比如3.0.4(地址:https://spring.io/projects/spring-cloud-gateway#learn)
spring|雷神《谷粒商城》spring-cloud-alibaba(阿里巴巴网关)gateway3.0.4,配置问题
文章图片


官方文档中写法如下
spring|雷神《谷粒商城》spring-cloud-alibaba(阿里巴巴网关)gateway3.0.4,配置问题
文章图片

拷贝修改自己项目中的rewrite,比如我的

spring: cloud: gateway: routes: - id: test_route uri: https://www.baidu.com predicates: - Query=url,baidu- id: qq_route uri: https://www.qq.com predicates: - Query=url,qq- id: admin_route uri: lb://renren-fast predicates: - Path=/api/** filters: - RewritePath=/api/?(?.*), /renren-fast/$\{segment}

3.配置跨域问题。在较新的springboot版本中,跨域配置需要将 .allowedOrigins 替换成 .allowedOriginPatterns
修改GulimallCorsConfiguration跨域配置
@Configuration // gateway public class GulimallCorsConfiguration {@Bean // 添加过滤器 public CorsWebFilter corsWebFilter() { // 基于url跨域,选择reactive包下的 UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); // 跨域配置信息 CorsConfiguration corsConfiguration = new CorsConfiguration(); // 允许跨域的头 corsConfiguration.addAllowedHeader("*"); // 允许跨域的请求方式 corsConfiguration.addAllowedMethod("*"); // 允许跨域的请求来源 corsConfiguration.addAllowedOriginPattern("*"); // 是否允许携带cookie跨域 corsConfiguration.setAllowCredentials(true); // 任意url都要进行跨域配置 source.registerCorsConfiguration("/**", corsConfiguration); return new CorsWebFilter(source); } }

修改之处为
spring|雷神《谷粒商城》spring-cloud-alibaba(阿里巴巴网关)gateway3.0.4,配置问题
文章图片

【spring|雷神《谷粒商城》spring-cloud-alibaba(阿里巴巴网关)gateway3.0.4,配置问题】 学无止境(只要学不死,就往死里学*_*)

    推荐阅读