Как установить максимальный размер заголовка из переменных среды в приложении Spring Boot - PullRequest
1 голос
/ 09 марта 2020

У меня есть некоторые проблемы с SpringBoot 1.5.19.RELEASE, возникающие из-за проблем с токеном Keycloak. В краткосрочной перспективе вместо того, чтобы уменьшить размер токена, мы хотим вместо этого увеличить максимально допустимый размер заголовка.

Множество страниц переполнения стека предполагают, что настройка server.max-http-header-size=48000 в application.properties должна облегчить симптом, и это делает. Я также могу успешно использовать это из командной строки как системное свойство -Dserver.max-http-header-size=48000. Но даже изменение командной строки для всех наших сервисов немного утомительно, так как строка комманды встроена в каждый docker образ, поэтому я подумал о переменной среды, которую можно изменить во время развертывания ...

Spring docs предполагает, что application.properies также может быть переопределен из среды с помощью RelaxedPropertyResolver, позволяя, например, spring.profiles.active быть установленным из переменной среды SPRING_PROFILES_ACTIVE. Это работает хорошо, и я использовал это много раз.

Но при попытке моих сервисов в среде SERVER_MAX_HTTP_HEADER_SIZE=48000, SERVER_MAX-HTTP-HEADER-SIZE=48000 и даже SERVER_MAXHTTPHEADERSIZE=48000 применяются ограничения по умолчанию - кажется, ничего не происходит быть распознанным Spring.

Как я могу указать этот параметр через переменную окружения без необходимости перестраивать docker images et c, которые запускают службы?

1 Ответ

0 голосов
/ 10 марта 2020

Кажется, есть ошибка в весенней загрузке 1.5.19. это работает для меня, если я установлю:

SERVER_maxHttpHeaderSize=48000
...