Вот что я в конечном итоге использую, потому что я не могу правильно заменить переменную. Учитывая раздел Play Framework HOCON для CORS Allowed Origins, который допускает локальное развертывание, развертывание для разработчиков, этап и производство и НЕ соответствует 12 факторам:
play {
# https://www.playframework.com/documentation/2.5.x/resources/confs/filters-helpers/reference.conf
filters {
# use default values for gzip, csrf & security headers
# setup cors
cors {
# whitelist all paths
pathPrefixes = ["/"]
allowedOrigins = [
"http://localhost:8080"
"http://app.127.0.0.1.nip.io:8080"
"http://app.192.168.64.2.nip.io"
"http://app.192.168.42.173.nip.io"
"http://app.terradatum.local"
"http://app.dev.terradatum.com"
"https://app.dev.terradatum.com"
"http://app.stage.terradatum.com"
"https://app.stage.terradatum.com"
"http://app.terradatum.com"
"https://app.terradatum.com"
]
}
}
}
Я пробовал оба следующих HOCON, при этом среда также была установлена, как показано:
# HOCON
allowedOrigins = ${?APP_ALLOWED_ORIGINS}
# ENV
export APP_ALLOWED_ORIGINS='"http://app.127.0.0.1.nip.io:8080","http://app.192.168.64.2.nip.io","http://app.192.168.42.173.nip.io","http://app.terradatum.local","http://app.dev.terradatum.com","https://app.dev.terradatum.com","http://app.stage.terradatum.com","https://app.stage.terradatum.com","http://app.terradatum.com","https://app.terradatum.com"'
А также...
# HOCON
allowedOrigins = [
${?APP_ALLOWED_ORIGINS}
"http://app.127.0.0.1.nip.io:8080"
"http://app.192.168.64.2.nip.io"
"http://app.192.168.42.173.nip.io"
"http://app.terradatum.local"
"http://app.dev.terradatum.com"
"https://app.dev.terradatum.com"
"http://app.stage.terradatum.com"
"https://app.stage.terradatum.com"
"http://app.terradatum.com"
"https://app.terradatum.com"
]
# ENV
export APP_ALLOWED_ORIGINS="http://some-new-cors.terradatum.com\nhttps://some-new-cors.terradatum.com\n"
Многие другие реализации CORS допускают регулярное выражение, а WTH не играет?
Кроме того, обработка списков HOCON была для меня очень проблематичной... с первой реализацией выше, работающей, но любая итерация, в которой у меня есть существующий список по умолчанию в application.conf
, терпит неудачу...
Каков рекомендуемый метод добавления списков или элементов списка в HOCON с помощью замены переменных среды?
reference.conf
, которые не соответствуют режиму замены env), и, возможно, разрешенные источники CORS — не лучший пример, но мне все еще нужно это решить. 16.04.2017