关于springcloud:gateway解决跨域访问

57次阅读

共计 904 个字符,预计需要花费 3 分钟才能阅读完成。

增加依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

增加 gateway 依赖

增加配置类

@Configuration
public class CrosConfiguration {

    @Bean
    public CorsWebFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }
}

在 gateway 我的项目中退出改配置类可解决跨域问题。

微服务环境中配置路由

# 路由的 id, 没有规定规定但要求惟一, 倡议配合服务名
spring.cloud.gateway.routes[2].id=service-user
#匹配后提供服务的路由地址,在微服务环境中为 lb: 服务名,其余环境能够是具体域名或 ip
spring.cloud.gateway.routes[2].uri=lb://service-user
#匹配规定,上面为申请门路中带 user
spring.cloud.gateway.routes[2].predicates= Path=/*/user/**

例如 gateway 服务于 8081 端口启动,localhost:8081/api/user/getname 这个申请会被转发到 service-user/api/user/getname

正文完
 0