tomcat 如何增加托管在Azure应用服务(部署为.WAR)中的Java Sping Boot 应用的最大HTTP标头大小?

i86rm4rw  于 2022-11-13  发布在  Java
关注(0)|答案(1)|浏览(155)

我们有一个托管在Azure App Service(Windows)中的Java Sping Boot 应用程序,我们需要将Tomcat 9服务器上的maxHttpHeaderSize值增加到大约32 KB。我无法确定如何影响服务器设置来实现这一点。
如何在Azure应用服务中覆盖Tomcat服务器的maxHttpHeaderSize值?
我们有一个application.yml文件,我们在其中设置了各种设置,但其中的任何服务器设置似乎都被Azure中的应用服务忽略了。例如,我可以通过在application.yml中添加该选项来在本地修复该问题,但当我部署时,它没有任何区别。我还尝试了SERVER_MAX_HTTP_HEADER_SIZE等环境变量,它也在本地工作,但不在部署的应用服务上工作。
以下是应用程序服务的“配置”页面中的“堆栈设置”:

  • 堆栈:Java
  • Java版本:Java 11语言
  • Java次要版本:Java 11(自动更新)
  • Java Web服务器:ApacheTomcat 9.0
  • Java Web服务器版本:Apache Tomcat 9.0(自动更新)

我们目前通过上传.WAR的DevOps管道部署应用。
我们需要增加最大标头大小的原因是,我们与Azure AD集成以进行身份验证,并且它添加了较大的标头(我们认为是由于相当多的用户组),这会使一些用户的请求超过当前限制。
任何指导都非常感谢。谢谢!

vhmi4jdf

vhmi4jdf1#

例如,application.properties

server.max-http-header-size=10KB

参考文档https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#:~:text=server.max%2Dhttp%2Dheader%2Dsize

相关问题