Update avaliable. Click RELOAD to update.
目录

从零开始在 Amazon Linux EC2 使用 Certbot 配置 SSL 证书

00-use-certbot-ssl-amazon-linux

常常为了 AWS Cloud 的免费计划而到期后不得不使用新的账号部署服务器,导致原服务器中的程序需要重新部署一遍,其中就包含站点的SSL证书需要重新生成,本文旨在记录当初始化一个全新的 Amazon Linux EC2 服务器时,使用 Certbot 生成 SSL 证书的步骤。

免费 EC2 实例模板 01-use-certbot-ssl-amazon-linux

1. EPEL源安装

Amazon Linux是默认没有安装 Certbot 的源,首先需要安装包含 Certbot 的 epel 源

# EC2
$ sudo amazon-linux-extras install epel

若是自有 centos 服务器可使用 yum install epel-release 安装

2. 安装Certbot

这里使用的是 nginx 做为入口转发服务器,其他如apache、canddy等,安装目标自行变通

$ yum install certbot python2-certbot-nginx

3. 证书签发

证书签发过程会校验域名从属,通常是在 DNS 记录加一条 TXT 记录,然后点击验证

# 普通域名签发
$ certbot certonly -d www.example.com -d example.com --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

# 泛域名签发
$ certbot certonly -d "*.example.dev" -d example.dev --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

验证从属关系,签发完成后,会得到以下提示信息

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.dev/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.dev/privkey.pem
   Your certificate will expire on 2023-11-26. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"

上面的信息告诉签发证书的公私钥路径以及失效时间,检查nginx服务,是否自动配置,若没有按照上述路径自行配置

4. 证书续订

证书签发后默认有效期90天,到期前收到邮件通知,很多文章写的是通过定时任务执行 certbot renew 的方式自动更新,不适用,自己的续订方式如下:

# 证书有效期检查
$ certbot certificates

# 普通域名
$ certbot certonly -d www.example.com -d example.com

# 泛域名
$ certbot certonly  -d "*.example.dev" -d example.dev --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

5. 证书撤销

签发的免费证书有20的额度限制,同一账号,无效的、错误的、无用的证书可以直接删除或者撤销,这里的删除不仅仅是物理意义的在本地删除证书公私钥文件,而是签发服务器也要进行删除

# 列出所有
$ certbot certificates

# 撤销证书
$ certbot revoke --cert-path /etc/letsencrypt/live/example.com/fullchain.pem

# 删除证书
$ certbot delete
版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2023/11/use-certbot-ssl-amazon-linux/