Spring Cloud Gateway 中配置跨域
开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。API网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性。
在Spring Cloud Gateway 中配置跨域有两种方式,分别是代码配置方式和配置文件方式。
一、代码配置方式配置跨域
代码配置方式配置跨域,代码清单如下所示:
@ConfigurationpublicclassCorsConfig{@BeanpublicWebFiltercorsFilter(){return(ServerWebExchange ctx,WebFilterChain chain)->{ServerHttpRequest request = ctx.getRequest();if(CorsUtils.isCorsRequest(request)){HttpHeaders requestHeaders = request.getHeaders();ServerHttpResponse response = ctx.getResponse();HttpMethod requestMethod = requestHeaders.getAccessControlRequestMethod();HttpHeaders headers = response.getHeaders();
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders.getAccessControlRequestHeaders());if(requestMethod !=null){
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());}
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS,"true");
headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS,"*");if(request.getMethod()==HttpMethod.OPTIONS){
response.setStatusCode(HttpStatus.OK);returnMono.empty();}}return chain.filter(ctx);};}}
二、配置文件方式配置跨域
配置文件方式配置跨域,代码清单如下所示:
spring:
cloud:
gateway:
globalcors:
corsConfigurations:'[/**]':
allowedOrigins:"*"
exposedHeaders:- content-type
allowedHeaders:- content-type
allowCredentials:true
allowedMethods:-GET-OPTIONS-PUT-DELETE-POST
本文完结!
版权归原作者 No8g攻城狮 所有, 如有侵权,请联系我们删除。