网关-gateway

导包

gateway项目的打包方式为jar

    <artifactId>gateway</artifactId>
    <packaging>jar</packaging>

实现路由需要 nacos服务中心 , 配置中心 ,和 gateway包

      <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>

配置

gateway中有激活gateway 配置路由的拦截规则配置跨域拦截三块
在配置文件中配置了路由后,那么手动配置的跨域拦截器要注释掉。

    @Bean
    CorsFilter getCrosFilter(){
    
    
        UrlBasedCorsConfigurationSource source =  new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }

gateway的配置文件

# 激活gateway
    gateway:
      discovery:
        locator:
          lower-case-service-id: true
          enabled: true
# 拦截请求,并按定义的规则分配请求
      routes:
        - id: user
          uri: lb://user
          predicates:
            - Path=/ums-user/**,/ums-role/**
        - id: product
          uri: lb://product
          predicates:
            - Path=/pms-brand/**
#  配置跨域拦截
      globalcors:
        cors-configurations:
          '[/**]':
            allowedHeaders: "*"
            allowedOrigins: "*"
            allowedMethods: "*"

修改前端访问端口号

在Vue的axios中baseURL中端口号改为gateway的端口号
在这里插入图片描述

Guess you like

Origin blog.csdn.net/Ssucre/article/details/116701307