Spring boot Spring启动-SSL设置(/众所周知的/pki验证)

Spring boot Spring启动-SSL设置(/众所周知的/pki验证),spring-boot,tomcat,ssl,lets-encrypt,certbot,Spring Boot,Tomcat,Ssl,Lets Encrypt,Certbot,我是SSL安装新手,如果我的问题有误,请原谅 我已经在AWS EC2(Windows)实例上部署了一个Spring引导应用程序,其中包含大量restful服务,通过公共IP地址(AWS)公开,我能够公开访问它们(http)。我想现在就用SSL(https)连接它们。我正在购买证书,在设置的一个步骤中,他们给出了这些行来验证文本文件,有人知道吗?您能建议我需要在我的Spring Boot应用程序(Tomcat)上创建/well-known/pki validation文件夹的位置吗 发布供应商将为

我是SSL安装新手,如果我的问题有误,请原谅

我已经在AWS EC2(Windows)实例上部署了一个Spring引导应用程序,其中包含大量restful服务,通过公共IP地址(AWS)公开,我能够公开访问它们(http)。我想现在就用SSL(https)连接它们。我正在购买证书,在设置的一个步骤中,他们给出了这些行来验证文本文件,有人知道吗?您能建议我需要在我的Spring Boot应用程序(Tomcat)上创建/well-known/pki validation文件夹的位置吗

发布供应商将为您提供一个简单的基于文本的文件,以放置在子文件夹/.well-known/pki validation/中,并将其放置在您站点的“主目录”中。如果操作正确,供应商可以通过HTTP://查看此文件,然后在确认后颁发证书。

1在服务器中安装certboot。 2.获得证书 为了获得证书,您需要通过服务器公开某些文件。我使用SpringBootTomcat的目标文件夹来实现这一点

./certbot-auto certonly --webroot -w {SpringBootProjectDir}/target/classes/static/ -d {yourDomain.com}  
此命令获取证书并将其保留在:

/etc/letsencrypt/live/{yourDomain.com}/
Tomcat无法读取提供的证书,因为它不是p12格式。我们必须以这种格式生成证书。使用此命令

sudo openssl pkcs12 -export -in /etc/letsencrypt/live/{yourDomain.com}/fullchain.pem -inkey /etc/letsencrypt/live/{yourDomain.com}/privkey.pem -out /etc/letsencrypt/live/{yourDomain.com}/keystore.p12   -name tomcat  -CAfile /etc/letsencrypt/live/{yourDomain.com}/chain.pem    -caname root  
它将询问您密码。保留密码

3.配置服务器
重新启动服务器,就这样

请附上标签。
sudo openssl pkcs12 -export -in /etc/letsencrypt/live/{yourDomain.com}/fullchain.pem -inkey /etc/letsencrypt/live/{yourDomain.com}/privkey.pem -out /etc/letsencrypt/live/{yourDomain.com}/keystore.p12   -name tomcat  -CAfile /etc/letsencrypt/live/{yourDomain.com}/chain.pem    -caname root  
server.port=443

server.ssl.enabled=true
server.ssl.key-store: /etc/letsencrypt/live/{yourDomain.com}/keystore.p12
server.ssl.key-store-password: {password}
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat