【问题标题】:Micronaut CORS allowedOrigins from evnironment variableMicronaut CORS 允许来自环境变量的起源
【发布时间】:2020-04-17 14:23:32
【问题描述】:

我目前正在使用 Micronaut 构建一个微服务。现在我想添加 CORS 支持。目前我的 application.yml 看起来像这样:

micronaut:
  application:
    name: gateway
  server:
    port: ${HTTP_PORT:8080}
    cors:
      enabled: true
      configurations:
        web:
          allowedOrigins:
            - http://localhost:8080

有没有办法将 allowedOrigins 作为数组从环境变量中传递?

【问题讨论】:

  • 你试过MICRONAUT_SERVER_CORS_CONFIGURATIONS_WEB_ALLOWED_ORIGINS="http://localhost:8080,http://localhost:8081"吗?
  • 感谢您的回复。我试过这个,但它只适用于单个主机,如果我添加两个主机,它就不起作用。我的 application.yml 中有这样的:allowedOrigins: ${CORS_ALLOWED_ORIGINS} 和 env:CORS_ALLOWED_ORIGINS=http://localhost:4000,http://localhost:4001

标签: cors micronaut


【解决方案1】:

设置您的环境变量,例如MICRONAUT_SERVER_CORS_CONFIGURATIONS_WEB_ALLOWED_ORIGINS[0]=http://localhost:8080 MICRONAUT_SERVER_CORS_CONFIGURATIONS_WEB_ALLOWED_ORIGINS[1]=http://other.host

像这样设置你的配置:

micronaut:
  server:
    cors:
      configurations:
        web:
          allowedOrigins: ${ALLOWED_ORIGINS}

ALLOWED_ORIGINS=http://localhost:8080,http://other.host 这样设置你的环境变量也应该可以工作。

【讨论】:

  • 谢谢。可悲的是,它不适用于两种变体。我现在已经设置了多个默认为空字符串的 env 变量,所以如果需要我可以设置它们,但这并不是一个很好的解决方案。
猜你喜欢
  • 2021-05-13
  • 2020-12-29
  • 1970-01-01
  • 2021-04-28
  • 2022-10-15
  • 1970-01-01
  • 2013-11-28
  • 2019-10-27
  • 2015-12-07
相关资源
最近更新 更多