让你的Spring Boot工程支持HTTP和HTTPS

  • 时间:
  • 浏览:0
  • 来源:大发5分快乐8_大发5分快乐8官方

生成kestore

肯能你使用Unix肯能Mac OS,都可不可不可以 通过下列命令:keytool -genkey -alias tomcat -keyalg RSA,在生成过程中肯能时需你填入一点另一方的信息,类事我的机器上反馈如下:

使用@EnableConfigurationProperties(WebConfiguration.TomcatSslConnectorProperties.class)让Spring Boot自动创建有有1个 属性对象,蕴藏上述通过@PropertySource导入的属性。

为了使用HTTPS连接器,时需生成一份Certificate keystore,用于加密和机密浏览器的SSL沟通。

根据前一天的文章和官方文档,Spring Boot肯能对外开放了什么都有有有服务器配置,那先 配置信息通过Spring Boot内部人员的ServerProperties类完成绑定,若要参考Spring Boot的通用配置项,请点击这里

使用@PropertySource("classpath:/tomcat.https.properties")来让Spring Boot加载tomcat.https.properties文件中的属性。

通过createSslConnector最好的辦法 都可不可不可以 构建有有1个 蕴藏了我们我们我们我们我们我们我们我们儿指定的属性值的连接器,否则通过tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));设置tomcat容器的HTTPS连接器。

都可不可不可以 看出,执行完上述命令后在home目录下多了有有1个 新的.keystore文件。

Spring Boot不支持通过application.properties同时配置HTTP连接器和HTTPS连接器。在官方文档70.8中提到四种 最好的辦法 ,是将属性值硬编码在守护进程中。

如今,企业级应用守护进程的常见场景是同时支持HTTP和HTTPS四种 协议,这篇文章考虑怎么可不可不可以让Spring Boot应用守护进程同时支持HTTP和HTTPS四种 协议。

在属性值导入内存,并构建好TomcatSslConnectorProperties实例后,时需创建有有1个 EmbeddedServletContainerFactory类型的Spring bean,用于创建EmbeddedServletContainer。

@ConfigurationProperties(prefix = "custom.tomcat.https")你一点注解会让Spring Boot自动将custom.tomcat.https开头的属性绑定到TomcatSslConnectorProperties你一点类的成员上(确保该类的getters和setters指在)。值得一提的是,在绑定过程中Spring Boot会自动将属性值转加进共要的数据类型,类事custom.tomcat.https.keystore的值会自动绑定到File对象keystore上。

同时支持HTTP协议

怎么能我们我们我们我们都我们我们我们我们儿这里新建有有1个 配置文件tomcat.https.properties来实现,否则这从不符合“Spring Boot风格”,后续有肯能应该会支持“通过application.properties同时配置HTTP连接器和HTTPS连接器”。我加进的TomcatSslConnectorProperties是模仿Spring Boot中的ServerProperties的使用机制实现的,这里使用了自定义的属性前缀custom.tomcat而如此用现有的server.前缀,肯能ServerProperties禁止在一点的配置文件中使用该命名空间。

支持HTTPS协议