先说明,此篇针对springboot版本在2.4.x以上的小伙伴哦。
我的版本:springboot2.6.4 springcloud2021.0.1 nacos1.2.1 springcloud-alibaba 2.2.1
第一、首先解释下503错误的原因:
Spring Cloud 2020.0.0版本之前会自动引入Netflix Ribbon依赖,Netflix Ribbon功能跟loadbalancer一样,因Netflix公司停止维护Ribbon后, 在Spring Cloud 2020.0.0版本之后Spring使用loadbalancer替代了Ribbon, 但是loadbalancer依赖需要手动引入. 所以如果你使用的Spring Cloud版本是2020.0.0或更高的版本, 添加loadbalancer依赖即可解决503的问题;
第二、gulimall-common中修改配置文件:
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discoverycom.alibaba.cloud spring-cloud-starter-alibaba-nacos-configorg.springframework.cloud spring-cloud-starter-bootstrap3.0.3 com.alibaba.cloud spring-cloud-alibaba-dependencies2.2.1.RELEASE pom import
第三、gulimall-gateway中pom文件添加:
org.springframework.cloud spring-cloud-starter-loadbalancer
第四、配置跨域
@Configuration
public class GulimallCorsConfiguration {
@Bean
public CorsWebFilter corsWebFilter() {
UrlbasedCorsConfigurationSource source = new UrlbasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 配置跨域
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.addAllowedOriginPattern("*");
corsConfiguration.setAllowCredentials(true);
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsWebFilter(source);
}
}
第五、重启项目,完美显示,可以登录
谢谢观看喔!



