Spring boot 如何在Spring引导应用程序中从环境变量设置最大标头大小

Spring boot 如何在Spring引导应用程序中从环境变量设置最大标头大小,spring-boot,environment,Spring Boot,Environment,我有一些SpringBoot 1.5.19.RELEASE服务遇到了问题,因为我们的KeyClope承载令牌越来越大。在短期内,我们希望增加最大可接受的头大小,而不是减少令牌大小 大量的堆栈溢出页面应该可以缓解这种症状,确实如此。我还可以从命令行成功地将其用作系统属性-Dserver.max http header size=48000。但即使更改我们所有服务的命令行也有点乏味,因为命令行嵌入在每个docker映像中,所以我想知道一个可以在部署时更改的环境变量 建议也可以使用RelaxedPro

我有一些SpringBoot 1.5.19.RELEASE服务遇到了问题,因为我们的KeyClope承载令牌越来越大。在短期内,我们希望增加最大可接受的头大小,而不是减少令牌大小

大量的堆栈溢出页面应该可以缓解这种症状,确实如此。我还可以从命令行成功地将其用作系统属性
-Dserver.max http header size=48000
。但即使更改我们所有服务的命令行也有点乏味,因为命令行嵌入在每个docker映像中,所以我想知道一个可以在部署时更改的环境变量

建议也可以使用
RelaxedPropertyResolver
从环境中重写
application.properties
,例如允许从
spring\u profiles\u active
环境变量设置
spring.profiles.active
。这个很好用,我已经用过很多次了


但是在
SERVER\u MAX\u HTTP\u HEADER\u SIZE=48000
SERVER\u MAX-HTTP-HEADER-SIZE=48000
,甚至
SERVER\u MAXHTTPHEADERSIZE=48000
的环境中尝试我的服务会导致应用默认的限制-Spring似乎无法识别任何内容


如何通过环境变量指定此设置,而不必重新生成运行服务的docker映像等?

spring boot 1.5.19中似乎存在错误。如果我设置:

SERVER_maxHttpHeaderSize=48000

spring boot 1.5.19中似乎有一个bug。如果我设置:

SERVER_maxHttpHeaderSize=48000

您是否能够为每个服务重新配置配置?听起来您必须为这种情况找到spring支持的默认行为。您是否正确指定了它们?此外,还应将它们设置为docker环境变量,在运行docker的系统上设置它们不会使它们在docker中可见(因此您可能需要重建容器,或找到将这些容器添加到docker的方法)。
SERVER\u MAXHTTPHEADERSIZE=48000
实际上应该可以工作。您使用的是哪个版本的spring boot?是的,我已经尝试了我问题中的每个环境变量,并且完全希望它们能够基于文档工作。指定SPRING\u PROFILES\u ACTIVE=foo可以很好地工作,所以不清楚为什么max header size变量不能工作。我们使用的是Spring Boot 1.5.19.RELEASE。您能够为每个服务重新配置配置吗?听起来您必须为这种情况找到spring支持的默认行为。您是否正确指定了它们?此外,还应将它们设置为docker环境变量,在运行docker的系统上设置它们不会使它们在docker中可见(因此您可能需要重建容器,或找到将这些容器添加到docker的方法)。
SERVER\u MAXHTTPHEADERSIZE=48000
实际上应该可以工作。您使用的是哪个版本的spring boot?是的,我已经尝试了我问题中的每个环境变量,并且完全希望它们能够基于文档工作。指定SPRING\u PROFILES\u ACTIVE=foo可以很好地工作,所以不清楚为什么max header size变量不能工作。我们使用的是Spring Boot 1.5.19.RELEASE。