SpringCloudGateway跨域如何设置?
时间: 2024-04-11 13:28:23 浏览: 120
对于Spring Cloud Gateway的跨域设置,可以通过配置`CorsConfigurationSource`来实现。以下是一个示例配置:
1. 创建一个文件 `CorsConfig.java`,并添加以下内容:
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsConfigurationSource;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
@Configuration
public class CorsConfig {
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.addAllowedOrigin("*"); // 允许的域名,可以设置具体的域名
configuration.addAllowedMethod("*"); // 允许的请求方法,如GET、POST
configuration.addAllowedHeader("*"); // 允许的请求头
configuration.setAllowCredentials(true); // 是否允许发送Cookie
configuration.setMaxAge(3600L); // 预检请求的有效期,单位为秒
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration); // 对所有路径生效
return source;
}
}
```
2. 添加`@EnableWebFlux`注解到你的Spring Boot应用的入口类上。
这样就完成了Spring Cloud Gateway的跨域设置。注意,跨域请求可能会带来安全风险,请根据实际需求进行配置。
阅读全文