0


【Spring Cloud】Spring Cloud Gateway 中配置跨域

Spring Cloud Gateway 中配置跨域

开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。API网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性。

在Spring Cloud Gateway 中配置跨域有两种方式,分别是代码配置方式和配置文件方式。

一、代码配置方式配置跨域

代码配置方式配置跨域,代码清单如下所示:

  1. @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();
  2. headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
  3. headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders.getAccessControlRequestHeaders());if(requestMethod !=null){
  4. headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());}
  5. headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS,"true");
  6. headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS,"*");if(request.getMethod()==HttpMethod.OPTIONS){
  7. response.setStatusCode(HttpStatus.OK);returnMono.empty();}}return chain.filter(ctx);};}}

二、配置文件方式配置跨域

配置文件方式配置跨域,代码清单如下所示:

  1. spring:
  2. cloud:
  3. gateway:
  4. globalcors:
  5. corsConfigurations:'[/**]':
  6. allowedOrigins:"*"
  7. exposedHeaders:- content-type
  8. allowedHeaders:- content-type
  9. allowCredentials:true
  10. allowedMethods:-GET-OPTIONS-PUT-DELETE-POST

本文完结!


本文转载自: https://blog.csdn.net/weixin_44299027/article/details/140102706
版权归原作者 No8g攻城狮 所有, 如有侵权,请联系我们删除。

“【Spring Cloud】Spring Cloud Gateway 中配置跨域”的评论:

还没有评论