• Spring Cloud Gateway 跨域


    https://docs.spring.io/spring-cloud-gateway/docs/2.2.6.RELEASE/reference/html/#cors-configuration

    server:
      port: 8060
    spring:
      application:
        name: api-gateway
      cloud:
        # gateway的配置
        gateway:
          # 路由规则
          routes:
            - id: order_route # 路由的唯一标识, 路由到 order
              #          uri: http://localhost:8020 # 需要转发的地址
              uri: lb://order-nacos-service # 需要转发的地址  lb:使用nacos中的本地负载均衡策略
              # 断言规则 用于路由规则的匹配
              predicates:
                - Path=/order-serv/**
                  # http://localhost:8060/order-serv/order/add 路由转到
                # http://localhost:8020/order-serv/order/add
    #            - After=2017-01-20T17:42:47.789-07:00[Asia/Shanghai]
    #            - Header=X-Request-Id,\d+
    #            - Method=GET
    #            - Query=name,zhangsan|lisi
    #            - CheckAuth=lisi
              filters:
                - StripPrefix=1  # 转发之前去掉第一层路径
                  # http://localhost:8020/order-serv/order/add 过虑成
                # http://localhost:8020/order/add
    #            - AddRequestHeader=X-Request-color, blue
    #            - AddRequestParameter=color, red
                - PrefixPath=/mall-order    #添加前缀, 对应微服务需要配置context-path
    #            - RedirectTo=302, https://www.baidu.com/ #重定向到百度
    #            - SetStatus=404
    #            - CheckAuth=lisi
        #跨域配置
        globalcors:
          cors-configurations:
            '[/**]':   # 允许蹃域访问的资源
    #          allowedOrigins: "https://docs.spring.io"   # 跨域允许来源
              allowedOrigins: "*"   # 跨域允许来源
              allowedMethods:
                - GET
                - POST
        # 配置 Nacos
        nacos:
          server-addr: 127.0.0.1:8848
          discovery:
            #        server-addr: 127.0.0.1:8848
            username: nacos
            password: nacos
            namespace: public

    package com.wsm.config;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.cors.CorsConfiguration;
    import org.springframework.web.cors.reactive.CorsWebFilter;
    import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
    
    @Configuration
    public class CorsConfig {
    
        public CorsWebFilter corsWebFilter() {
            CorsConfiguration config = new CorsConfiguration();
            config.addAllowedMethod("*");  // 允许的Method
            config.addAllowedOrigin("*");  // 允许的来源
            config.addAllowedHeader("*");  // 允许的请求头参数
    
            // 允许访问的资源
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", config);
    
            return new CorsWebFilter(source);
        }
    }
  • 相关阅读:
    【重点推荐】五美凡生论
    语言哲学宣言2018
    四要同环图
    知识分子必须毫不留情反对一切“教养阶层”
    世界上任何一件事的五个模块
    Web 在线制表工具稳定吗?和桌面报表工具对比哪个好用?
    Web 在线制表工具稳定吗?和桌面报表工具对比哪个好用?
    有没有简单易用的数据挖掘工具?
    BI、OLAP、多维分析、CUBE 这几个词是什么关系?
    传说中的中国复杂报表都长什么样?有什么特点?
  • 原文地址:https://www.cnblogs.com/mingforyou/p/15837185.html
Copyright © 2020-2023  润新知