我在 Cloud Foundry 上有一个 Spring Boot 应用程序,并且想要停用以下 HTTP-Header 中使用的 HTTP 压缩: Accept-Encoding: gzip, deflate 。我想防止 BREACH 攻击。
manifest.yml 中是否有一个条目,我可以使用它禁用此压缩?
我在 Cloud Foundry 上有一个 Spring Boot 应用程序,并且想要停用以下 HTTP-Header 中使用的 HTTP 压缩: Accept-Encoding: gzip, deflate 。我想防止 BREACH 攻击。
manifest.yml 中是否有一个条目,我可以使用它禁用此压缩?
您的应用程序没有manifest.yml
(至少对于 cf cli's 没有manifest.yml
)属性。请记住,这manifest.yml
就是控制(或自动化)cf cli 以及它将如何将您的应用程序推送到 Cloud Foundry 的内容。尽管在您可以部署的任何类型的应用程序中,它都是通用的。最好的方法是让 cli 将信息传递给您的应用程序。您的应用程序必须寻找该信息才能改变任何行为。
幸运的是,Spring Boot 可以从各个地方使用外部配置属性设置。其中两个,环境变量和系统属性,都可以通过manifest.yml
. 此外,Spring Boot 提供了一些属性来控制它使用的压缩。
如果要禁用压缩,只需设置server.compression.enabled
为false
.
综上所述,您可以通过 manifest.yml 通过添加一个env:
块并定义适当的环境变量来配置此属性。
前任:
...
env:
SPRING_COMPRESSION_ENABLED: false
...
或者,您可以设置系统属性:
前任:
...
env:
JAVA_OPTS: '-Dspring.compression.enabled=false'
...
这只会关闭压缩,如果您查看文档参考,Spring Boot 还有其他属性可用于更精细地调整压缩。您可以按照我上面描述的相同方式应用这些或任何其他 Spring Boot 配置属性。