Spring Boot Application Secured by Let’s Encrypt Certificate(docker+spring boot+letsencrypt)

首先介绍一下项目,基础spring boot,docker部署,使用letsencrypt申请证书。

1 首先,安装一个工具

$ git clone https://github.com/certbot/certbot
$ cd certbot
$ ./certbotauto help

2 用这个工具生成证书和秘钥

./certbot-auto certonly -a standalone -d example.com -d www.example.com

3 打开/etc/letsencrypt/live/example.com目录


4 openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root


文件 keystore.p12生成在 /etc/letsencrypt/live/example.com目录下


证书申请完毕,开始配置sping boot项目,因为spring boot是运行在docker中的,默认服务器是Tomcat等,

server.port: 443
security.require-ssl=true
server.ssl.key-store:/etc/letsencrypt/live/example.com/keystore.p12
server.ssl.key-store-password: <your-password>
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat


配置完成后重启container,然后重新运行项目

> docker run -it -d -v /etc/letsencrypt/live/example.com/keystore.p12:/etc/letsencrypt/live/example.com/keystore.p12 -p 443:443 springboot/application -Dspring.profiles.active=dev 

这个默认有效期是90天,到期要重新验证,可以设置自动更新,可以去官方文档查看。


Avatar photo

About Blackford

这是个最好的时代,这是个最坏的时代,这是个充满希望的春天,这是个令人绝望的冬天,我们前面什么都有,我们前面什么都没有。梦想,让我们一次次的走远,又一次次的回头,一个关于人生的梦想还在不断奔跑,带着喜悦和疼痛,不过一切才刚刚开始,并且直到今天也远远没有结束
This entry was posted in 架构运维. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注