我刚开始保护服务器,所以我对此了解不多,但我需要让我的Spring Boot应用程序运行在Digital Ocean Droplet上才能使用HTTPS。
我的想法是注册一个letsencrypt证书,然后告诉Spring使用它。
然而,我不知道如何做到这一点。
谢谢。
发布于 2016-08-10 20:12:52
我写了两篇关于Let's Encrypt和Spring Boot的博文。
证书.
简而言之,步骤如下:
./certbot-auto certonly -a standalone -d example.com -d www.example.com
所有内容都是在/etc/letsencrypt/live/example.com
中生成的。Spring Boot需要PKCS#12格式的文件。这意味着您必须将密钥转换为PKCS#12密钥库(例如,使用OpenSSL)。如下所示:
打开directory.
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root
的
/etc/letsencrypt/live/example.com
带有PKCS12的文件keystore.p12现在在/etc/letsencrypt/live/example.com
中生成。
现在可以配置Spring Boot应用程序了。打开application.properties文件并在其中放置以下属性:
server.port=8443
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
有关详细信息和备注,请阅读我的blog post。
发布于 2017-02-28 21:12:42
第一步:从git下载certbot
你需要在你的域名所指向的服务器上获取Let's Encrypt的源代码。此步骤可能需要几分钟时间。
$ cd certbot
$ ./certbot-auto --help
备注:请事先安装Python 2.7.8 (或更高版本)。
Step2:生成证书和私钥
通过在您的终端中执行以下命令,让我们加密为您生成证书和私钥。
$./certbot-自动认证-a standalone \
-d example.com -d example.com
备注:密钥在/etc/letsencrypt/live/example.com目录中生成
Step3:从PKCS12文件生成PEM文件
要将PEM文件转换为实况版本:转到/etc/letsencrypt/ PKCS12 /example.com,在终端中使用OpenSSL将密钥转换为PKCS12,如下所示。
openssl $openssl pkcs12 -export -in fullchain.pem \
-inkey privkey.pem \ -out keystore.p12 \ -name tomcat \ -CAfile chain.pem \ -caname根目录
输入导出密码:
正在验证-输入导出密码:
(注意:-一次写一行,然后按enter键)
Step4: Spring Boot Application的配置
打开你的'application.properties‘,把这个配置放在那里。
server.port=8443安全性.-ssl=true
server.ssl.key-store=/etc/letsencrypt/live/example.com/keystore.p12
server.ssl.key-store- password =密码
server.ssl.keyStoreType= PKCS12
server.ssl.keyAlias= tomcat
发布于 2018-03-09 04:30:29
另一种选择是使用Spring Boot Starter ACME:
https://github.com/creactiviti/spring-boot-starter-acme
ACME (自动证书管理环境)是LetsEncrypt用来自动颁发证书的协议。
https://stackoverflow.com/questions/36991562
复制相似问题