使用acme.sh 免费申请泛域名https证书(自动续费)

  • • 发表于2021-07-15 08:59:47.0
  • • 作者 小徐同学
  • • 917 次浏览
  • • 0 条评论
  • • 最后编辑时间 2021-07-23 11:55:33.0
  • • 来自 [笔 记]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

前言:
各大云厂商虽然提供了免费的https证书,但是不会自动续费,而且不支持泛域名,用一段时间就需要重新调整。
恰好知道可以使用acme.sh申请和管理Let’s Encrypt证书。

官方文档:

https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E

安装

curl https://get.acme.sh | sh

申请泛域名证书

acme.sh --issue -d 你的域名.com -d *.你的域名.com -w /usr/web/renzhiyunyi/
ps: /usr/web/renzhiyunyi/ 是该域名80端口能直接访问的路径(用于域名归属校验)

根据上面的命令返回的txt值 去对应的域名管理商下解析 参考下图

添加完毕可以执行如下命令校验是否设置成功

dig TXT _acme-challenge.你的域名.com @9.9.9.9 +short

最后执行以下命令

acme.sh --renew -d 你的域名.com -d '*.你的域名.com' --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

最后nignx配置https证书



server {
    listen 443 ssl;
    server_name renzhiyunyi.com;

    ssl_certificate /root/.acme.sh/renzhiyunyi.com/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/renzhiyunyi.com/renzhiyunyi.com.key;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout  5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    #root html;
    index index.html index.htm;

    root /usr/web/renzhiyunyi;

    location / {
        index index.html;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

server {
    listen 80;
    server_name renzhiyunyi.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}

参考:

https://zhuanlan.zhihu.com/p/29507417

评论区(共0条评论)
0条评论
Ctrl+Enter
作者

Michael

小徐同学

帖子:73 回复:0

全栈搬运工

作者详情》
Top