谷粒商城,中使用阿里巴巴网关使用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)
文章图片
官方文档中写法如下
文章图片
拷贝修改自己项目中的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,配置问题】 学无止境(只要学不死,就往死里学*_*)
推荐阅读
- springBoot|SpringBoot整合Spring Security+JWT实现前后端分离登录权限处理
- 过滤器|SpringBoot官宣(最低要求 Java 17!怎么办())
- SSM框架|SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器
- #|Spring|SpringMVC的请求和响应以及文件上传
- SSM框架|SpringMVC回写数据方式方法
- SSM框架|SpringMVC获得请求数据类型
- java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
- SpringMVC|SpringMVC文件上传和文件下载
- Spring|SpringMVC获得请求数据-文件上传