【问题标题】:How do I set the value of CORS allowed origin for Spring Cloud Gatweay from the environment?如何从环境中设置 Spring Cloud Gatweay 的 CORS 允许来源的值?
【发布时间】:2022-10-15 22:17:14
【问题描述】:

补充How do I get the value of CORS allowed origin from spring cloud gateway

什么环境变量会映射到以下点?

spring:
  cloud:
    gateway:
      globalcors:
        cors-configurations:
          '[/**]':
            allowedOrigins: "*" # << how do I change this?

【问题讨论】:

    标签: java spring spring-boot spring-cloud-gateway


    【解决方案1】:

    根据操作系统,可能不允许使用该密钥,但选项之一是使用SPRING_APPLICATION_JSON。检查externalize configuration

    假设您有以下属性

    spring:
      cloud:
        gateway:
          globalcors:
            corsConfigurations:
              '[/**]':
                allowedOrigins: "*"
                allowedHeaders: "*"
                allowedMethods:
                - GET
                - POST
    

    将此 yaml 转换为 json。对于eg

    {
      "spring": {
        "cloud": {
          "gateway": {
            "globalcors": {
              "corsConfigurations": {
                "[/**]": {
                  "allowedOrigins": "*",
                  "allowedHeaders": "*",
                  "allowedMethods": [
                    "GET",
                    "POST"
                  ]
                }
              }
            }
          }
        }
      }
    }
    

    修剪eg using 的所有空格

    {"spring":{"cloud":{"gateway":{"globalcors":{"corsConfigurations":{"[/**]":{"allowedOrigins":"*","allowedHeaders":"*","allowedMethods":["GET","POST"]}}}}}}}
    

    现在在您的环境变量中,您可以设置

    SPRING_APPLICATION_JSON = "{"spring":{"cloud":{"gateway":{"globalcors":{"corsConfigurations":{"[/**]":{"allowedOrigins":"*","allowedHeaders":"*","allowedMethods":["GET","POST"]}}}}}}}"
    

    您可以编写某种 CLI 脚本来执行此操作。

    【讨论】:

      猜你喜欢
      • 2022-10-20
      • 1970-01-01
      • 2020-11-18
      • 2019-08-01
      • 2020-12-29
      • 2018-10-03
      • 2021-04-28
      • 2013-11-28
      • 2021-05-13
      相关资源
      最近更新 更多