关于springcloud:gateway解决跨域访问

增加依赖

<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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理