Spring Boot 内嵌的 Tomcat 服务器可以启用 HTTPS 支持。
生成证书
使用第三方 CA 证书。或者,通过 keytool 命令行工具生产密钥和证书。 keytool 是一个 Java 自带的数据证书的管理工具。
- keytool -genkey -alias springboot -storetype PKCS12 -keyalg RSA -keysize 1024 -keystore keystore.p12 -validity 365
命令说明
- -alias 指定证书的别名
- -keyalg 指定密钥算法名称, 此处使用 RSA
- -storetype 指定证书类型
- -keysize 指定私钥位数
- -validity 指定有效期, 单位为天. 此处指定有效期为 365 天
- -keystore 指定密钥库位置
配置 HTTPS 支持
在 application.properties 中配置 HTTPS 支持。
- server.port=8443
- server.ssl.key-store=classpath:keystore.p12
- server.ssl.key-store-password=123456
- server.ssl.keyStoreType=PKCS12
- server.ssl.keyAlias=springboot
启动与测试
创建一个 RESTful API 接口,进行测试。
- @RestController
- @EnableAutoConfiguration
- @ComponentScan(basePackages = { "com.lianggzone.springboot" })
- public class WebMain {
- @RequestMapping("/demo/hello")
- String home() {
- return "Hello World!";
- }
- public static void main(String[] args) throws Exception {
- SpringApplication.run(WebMain.class, args);
- }
- }
启动 tomcat, 访问 https://localhost:8443/demo/hello 。 鼠标左键点击 “继续前往 192.168.244.142(不安全)”, 就可以看到 测试信息。
现在,tomcat 已经支持 https 方式访问。
源代码
相关示例完整代码: springboot-action
(完)
如果觉得我的文章对你有帮助,请随意打赏。
- 版权声明:本文由 梁桂钊 发表于 梁桂钊的博客
- 转载声明:*转载-非商用-非衍生-保持署名(创意共享3.0许可证),非商业转载请注明作者及出处,商业转载请联系作者本人。
- 文章标题:Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS
- 文章链接:http://blog.720ui.com/2017/springboot_05_server_tomcat_https/