【问题标题】:Spring Boot - SSL setup (./well-known/pki-validation)Spring Boot - SSL 设置(./well-known/pki-validation)
【发布时间】:2018-08-09 13:08:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: spring-boot tomcat ssl lets-encrypt certbot


    【解决方案1】:

    1 在服务器上安装 certboot。

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

    2 获取证书

    为了获得证书,您需要通过服务器公开某些文件。我使用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 配置服务器

    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
    

    重启服务器就可以了!

    【讨论】:

    • 请包含标签。
    猜你喜欢
    • 2019-02-02
    • 2020-04-02
    • 2017-06-07
    • 2017-06-23
    • 2017-02-21
    • 2018-07-05
    • 2016-10-08
    • 2020-11-22
    • 2011-11-28
    相关资源
    最近更新 更多