电商商城定制开发前后端分离,解决Spring Cloud GateWay + Nacos使用lb请求报503错误以及403跨域问题

在使用时,前端请求gateway接口,gateway使用lb电商商城定制开发负载均衡请求目标服务。

如下:

  1. spring:
  2. cloud:
  3. gateway:
  4. routes:
  5. - id: test-demo
  6. uri: lb://test-demo
  7. predicates:
  8. - Path=/test/**
  9. filters:
  10. - RewritePath=/test/(?<segment>.*),/test-demo/$\{segment}

电商商城定制开发前端请求接口报如下错误:

最开始以为仅仅只是跨域问题,尝试了以下方法:

方式一:

在application.yml里配置:

  1. spring:
  2. cloud:
  3. gateway:
  4. globalcors:
  5. cors-configurations:
  6. '[/**]':
  7. allowedOrigins: "*" #这里可以配置固定域名
  8. allowedMethods:
  9. - GET
  10. - POST

参考地址:

此方法似乎缺少什么,仍存在跨域问题,(知道结果的大佬望告知一二)

方式二:

添加配置类,配置跨域:

  1. package com.example.gateway.config;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.cors.CorsConfiguration;
  5. import org.springframework.web.cors.reactive.CorsWebFilter;
  6. import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
  7. @Configuration
  8. public class ExampleCorsConfiguration {
  9. @Bean
  10. public CorsWebFilter corsWebFilter(){
  11. UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
  12. CorsConfiguration corsConfiguration = new CorsConfiguration();
  13. //1.配置跨域
  14. corsConfiguration.addAllowedHeader("*");
  15. corsConfiguration.addAllowedMethod("*");
  16. corsConfiguration.addAllowedOriginPattern("*");
  17. corsConfiguration.setAllowCredentials(true);
  18. source.registerCorsConfiguration("/**", corsConfiguration);
  19. return new CorsWebFilter(source);
  20. }
  21. }

配置了跨域仍未起效果,搜索文献,发现新版弃用了Ribbon,所以需要添加loadbalancer依赖:

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-loadbalancer</artifactId>
  4. <version>3.1.1</version>
  5. </dependency>

更新依赖,并重启服务,

添加完后就可以正常访问了。

第一个报错应该是依赖问题,第二个报错是跨域问题。

总结:

        1.加loadbalancer依赖

        2.加跨域配置

        3.方式一跨域配置仍存在问题,有知道问题出在哪里的大佬,望指导一二,谢谢。

网上有些资料太老了,与实际问题解决有些出入,调试半天也不起作用,吃一堑长一智。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发