let‘s encrypt:基于阿里云的certbot生成免费HTTPS证书

1. 项目目标

(1)学会使用let's encrypt申请更新ssl证书

2. 项目准备

2.1. 基础准备

系统镜像:CentOS 7.9

let's encrypt官网:Let's Encrypt - 免费的SSL/TLS证书

环境准备:

  • 安装了CentOS 7操作系统。
  • 拥有一个有效的阿里云账户和域名。

3. 项目实施

Certbot是一个流行的工具,用于从Let's Encrypt自动获取和续订SSL证书。虽然Certbot原生支持多种DNS提供商,但官方插件并不包括阿里云DNS。社区已经开发了相应的插件,使得我们可以通过Certbot来管理和续订使用阿里云DNS的SSL证书。

3.1. 安装Certbot及其阿里云DNS插件
  1. 安装Python 3.6或更高版本:
sudo yum install -y python36
  1. 创建一个目录用于存放Certbot相关文件:
mkdir -p /mnt/certbot
cd /mnt/certbot
  1. 安装Certbot及其所需的插件:
pip install certbot certbot-nginx certbot-dns-aliyun
3.2. 配置阿里云访问权限
  1. 在阿里云RAM控制台创建一个子账号,并授予其AliyunDNSFullAccess权限。

  1. 为该子账号生成AccessKey,并妥善保存Key ID和Access Key Secret。

3.3. 创建配置文件

/mnt/certbot目录下创建一个名为credentials.ini的配置文件,并填入相应的阿里云访问密钥信息:

certbot_dns_aliyun:dns_aliyun_access_key = YOUR_ACCESS_KEY_ID
certbot_dns_aliyun:dns_aliyun_access_key_secret = YOUR_ACCESS_KEY_SECRET
3.4. 申SSL证书

使用Certbot申SSL证书,并通过certbot-dns-aliyun插件指定DNS提供商和配置文件:

certbot certonly \
-a certbot-dns-aliyun:dns-aliyun \
--certbot-dns-aliyun:dns-aliyun-credentials /mnt/certbot/credentials.ini \
-d yourdomain.com

yourdomain.com替换为你的实际域名。

certbot有两种选项模式:

  • --standalone选项用于直接运行Certbot,而不依赖于任何外部Web服务器。
  • --webroot选项用于在现有的Web服务器上进行证书的申请和续订,而不需要停止Web服务或修改Web服务器的配置。
3.5. 配置自动续订

为了确保SSL证书保持有效,你需要设置一个定时任务来自动续订证书。编辑/etc/crontab文件,添加以下行:

0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /mnt/certbot/venv/bin/certbot renew -q
3.6. 配置Nginx

最后,配置Nginx以使用新获取的SSL证书:

listen 80;
listen 443 ssl;
if ($scheme != https) {
    rewrite ^/(.*) https://$server_name/$1 permanent;
}
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

确保将yourdomain.com替换为你的实际域名,并根据你的Web服务器配置进行相应的调整。

nginx配置文件修改重载:

nginx -s reload

4. 项目总结

本博客利用let's encrypt申请更新了阿里云域名证书,使用的是let's encrypt推荐的certbot将域名从http更新到了https。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值