0


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

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

本文完结!


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

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

还没有评论