Spring Boot - SSL设置(./well-known/pki-validation)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot - SSL设置(./well-known/pki-validation)相关的知识,希望对你有一定的参考价值。

我是SSL设置的新手,请原谅我,如果我的问题是错误的。

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

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

答案

1 Install certboot in the server.

 git clone https://github.com/certbot/certbot
 cd certbot
 ./certbot-auto --help

2 Obtain the certificate

要获取证书,您需要通过服务器公开某些文件。我使用spring boot tomcat的目标文件夹。

./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 Configure the server

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

重新启动服务器,就是这样!

以上是关于Spring Boot - SSL设置(./well-known/pki-validation)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AES-256 在 Spring Boot 上设置 SSL (TLS) / HTTPS?

如何使用 AES-256 在 Spring Boot 上设置 SSL (TLS) / HTTPS?

Spring Boot - SSL设置(./well-known/pki-validation)

如何设置letsencrypt SSL证书并在Spring Boot应用程序中使用它?

如何在 YML 文件 spring boot 中配置 SSL mongodb 连接?

启用 ssl 和 Elastic Beanstalk 的 Spring Boot - 找不到文件