0%

Let's Encrypt 申请 SSL 证书

在阿里云申请的域名,阿里云 DNS 与 Let's Encrypt 数字证书申请

Let’s Encrypt

Let's Encrypt 申请证书的方法有很多种,详细信息 ACME 客户端

官方推荐客户端 Certbot,本文使用 acme.sh

域名 API

Let’s Encrypt 只支持 DV 证书 的签发,也就是通过验证域名所有权,然后签发该域名的证书。它支持两种验证方式:

  • 通过 HTTP 的方式验证
  • 通过 DNS 的方式验证

首先通过 manage 创建 API Key,记录 AccessKey IDAccess Key Secret

acme.sh

中文 Readme

切换为超级用户模式 sudu su

$ curl  https://get.acme.sh | sh
# 首先执行以下两行
$ export Ali_Key="AccessKey ID"
$ export Ali_Secret="Access Key Secret"

# 而后申请签发证书
$ ~/.acme.sh/acme.sh --issue --dns dns_ali -d xxx.com
$ ~/.acme.sh/acme.sh --issue --dns dns_ali -d xxx.club -d *.xxx.club -k ec-256
  • --issue,签发
  • --dns dns_ali,验证方式
  • -d xxx.com,域名
  • --ecc,ecc 证书

成功之后文件目录如下

  • ca.cer:Let’s Encrypt 的中级证书
  • fullchain.cer:包含中级证书的域名证书
  • xxx.com.cer:无中级证书的域名证书
  • xxx.com.conf:该域名的配置文件
  • xxx.com.csr:该域名的 CSR 证书请求文件
  • xxx.com.csr.conf:该域名的 CSR 请求文件的配置文件
  • xxx.com.key:该域名证书的私钥

证书更新

$ ~/.acme.sh/acme.sh --renew -d xxx.com --force --ecc
$ ~/.acme.sh/acme.sh --renew -d xxx.com --force

证书吊销

acme.sh --revoke -d xxx.com --ecc

证书安装

$ ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key --ecc
$ ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key

查看定时任务

$ crontab -e