gateway 跨域问题解决方案

1.写个配置类CorsConfig (如果不行,可以不写此类,和springcloud的版本有关)

package net.youqu.micro.service.config;

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.reactive.CorsWebFilter;import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;import org.springframework.web.util.pattern.PathPatternParser;

/** * description:跨域配置类 * from www.fhadmin.org */@Configurationpublic class CorsConfig {    @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);    }}

2. 配置 application.properties 方式

#--------gateway配置--------#跨域配置spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedOrigins=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedHeaders=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedMethods=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowCredentials=true

yaml 方式

spring:  cloud:    gateway:      globalcors:        corsConfigurations:          '[/**]':            allowCredentials: true            allowedHeaders: '*'            allowedMethods: '*'            allowedOrigins: '*'
(0)

相关推荐