Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS

时间:2023-03-09 03:41:35
Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS

Spring Boot 内嵌的 Tomcat 服务器可以启用 HTTPS 支持。

生成证书

使用第三方 CA 证书。或者,通过 keytool 命令行工具生产密钥和证书。 keytool 是一个 Java 自带的数据证书的管理工具。

  1. keytool -genkey -alias springboot -storetype PKCS12 -keyalg RSA -keysize 1024 -keystore keystore.p12 -validity 365

命令说明

  1. -alias 指定证书的别名
  2. -keyalg 指定密钥算法名称, 此处使用 RSA
  3. -storetype 指定证书类型
  4. -keysize 指定私钥位数
  5. -validity 指定有效期, 单位为天. 此处指定有效期为 365 天
  6. -keystore 指定密钥库位置

配置 HTTPS 支持

在 application.properties 中配置 HTTPS 支持。

  1. server.port=8443
  2. server.ssl.key-store=classpath:keystore.p12
  3. server.ssl.key-store-password=123456
  4. server.ssl.keyStoreType=PKCS12
  5. server.ssl.keyAlias=springboot

启动与测试

创建一个 RESTful API 接口,进行测试。

  1. @RestController
  2. @EnableAutoConfiguration
  3. @ComponentScan(basePackages = { "com.lianggzone.springboot" })
  4. public class WebMain {
  5. @RequestMapping("/demo/hello")
  6. String home() {
  7. return "Hello World!";
  8. }
  9. public static void main(String[] args) throws Exception {
  10. SpringApplication.run(WebMain.class, args);
  11. }
  12. }

启动 tomcat, 访问 https://localhost:8443/demo/hello 。 鼠标左键点击 “继续前往 192.168.244.142(不安全)”, 就可以看到 测试信息。

现在,tomcat 已经支持 https 方式访问。

源代码

相关示例完整代码: springboot-action

(完)

如果觉得我的文章对你有帮助,请随意打赏。

Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS