【发布时间】:2018-03-15 18:53:02
【问题描述】:
在我们的 Spring Boot 应用程序中,我们需要一个安全和非安全端口。我已通过 application.properties 文件将端口 3000 配置为安全:
# Override default port setting
server.port=3000
# Enable SSL
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=#####
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat
并在一些代码中将端口 8080 设置为非安全:
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8080);
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
现在,我想启用压缩传递,所以我在 application.properties 中添加了:
# Embedded Server Compression
server.compression.enabled=true
server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,image/svg+xml,application/json
server.compression.min-response-size=2048
这似乎是一个服务器范围的设置,但 8080 端口不传送压缩数据,而 3000 则很好。如果我理解正确,创建 8080 连接器的 bean 正在使用主服务器。我尝试了几种设置组合,例如使用旧属性在 8080 连接器上启用压缩,但无济于事。所以我请求大师帮助解决这个问题。
提前谢谢你。
【问题讨论】:
标签: spring-boot