13.8、跨域配置
分类: Gateway API网关
跨域配置
跨域配置是 API 网关的常见需求。本节将学习如何配置跨域。
本节将学习:CORS 问题、跨域配置、全局配置,以及路由配置。
CORS 问题
问题说明
CORS 问题:
- 浏览器同源策略
- 跨域请求被阻止
- 需要配置 CORS
跨域配置
配置方式
@Configuration public class CorsConfig { @Bean public CorsWebFilter corsWebFilter() { CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOriginPattern("*"); config.addAllowedHeader("*"); config.addAllowedMethod("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config); return new CorsWebFilter(source); } }
全局配置
YAML 配置
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': allowed-origins: "*" allowed-methods: "*" allowed-headers: "*"
路由配置
路由级配置
路由级配置: 在特定路由上配置 CORS。
官方资源
- Spring Cloud Gateway CORS:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#cors-configuration
本节小结
在本节中,我们学习了:
第一个是 CORS 问题。 跨域请求的问题。
第二个是跨域配置。 如何配置跨域。
第三个是全局配置。 全局跨域配置。
第四个是路由配置。 路由级跨域配置。
这就是跨域配置。合理配置跨域,可以解决前端跨域问题。
在下一节,我们将学习限流集成。