在Cloud Foundry上为SpringBoot服务器启用/可禁用HTTP压缩

问题描述 投票:0回答:1

我在Cloud Foundry上有一个Spring Boot应用程序,并想停用HTTP-压缩在以下HTTP标头中使用的代码:Accept-Encoding:gzip,deflate。我想防止突破攻击。

manifest.yml中是否有一个条目,可以用来禁用此压缩功能?

spring-boot cloudfoundry pivotal-cloud-foundry http-compression breach-attack
1个回答
0
投票

您的应用程序没有manifest.yml属性(至少对于cf cli的manifest.yml没有属性)。记住manifest.yml是控制(或自动化)cf cli的工具,以及它将如何将您的应用程序推送到Cloud Foundry的工具。尽管您可以部署任何类型的应用程序,它都是通用的。最好的方法是将cli信息传递给您的应用程序。您的应用程序必须一直在寻找该信息,以便更改任何行为。

幸运的是,Spring Boot可以从许多地方consume external configuration property settings。可以通过manifest.yml设置环境变量和系统属性中的两个。加Spring Boot offers properties to control the compression it uses

如果要禁用压缩,只需将server.compression.enabled设置为false

https://docs.spring.io/spring-boot/docs/2.2.7.RELEASE/reference/html/appendix-application-properties.html#server-properties

总而言之,您可以通过添加env:块并定义适当的env变量,通过manifest.yml来配置此属性。>

Ex:

...
  env:
    SPRING_COMPRESSION_ENABLED: false
...

或者,您可以设置系统属性:

Ex:

...
  env:
    JAVA_OPTS: '-Dspring.compression.enabled=false'
...

这将关闭压缩,如果您查看doc参考,Spring Boot的其他属性可用于更精细地调整压缩。您可以按照上述方法来应用这些属性或任何其他Spring Boot配置属性。

© www.soinside.com 2019 - 2024. All rights reserved.