如何申请Let's Encrypt免费证书
简介
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,它提供免费的SSL证书,是个人网站的福音。
安装certbot
Certbot是一个命令行工具,可用于申请Let's Encrypt免费证书。
CentOS
1 2 3 4 5 |
yum install epel-release yum install certbot pip install requests urllib3 pyOpenSSL --force --upgrade pip install --upgrade --force-reinstall 'requests==2.6.0' |
Ubuntu
1 2 |
apt update apt install certbot |
使用certbot
命令简介
使用此命令,你可以获取HTTPS/TLS/SSL证书,并为主流服务器软件(例如Apache)安装此证书。
Certbot支持通过多种方式验证域名所有权。
格式
certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...
子命令列表
子命令 | 说明 |
run | 获取证书,并安装到Web服务器中 |
certonly | 获取或更新(renew)证书,但是不安装 |
renew | 更新快要过期的、先前成功申请了的证书 |
enhance | 为你的现有配置添加安全增强 |
certificates | 显示已经获得的证书列表 |
revoke | 吊销一个证书 |
delete | 删除一个证书 |
register | 注册一个Let's Encrypt ACME账户 |
unregister | 解除注册一个Let's Encrypt ACME账户 |
update_account | 更新ACME账户 |
certonly
通配符证书
执行下面的命令:
1 2 |
certbot certonly -d gmem.cc -d *.gmem.cc --manual \ --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory |
根据提示,前往你的域名解析服务商的控制台,创建TXT类型的记录。
确认TXT记录已经生效后,回车即可。生成的证书位于/etc/letsencrypt/live下。
renew
执行下面的命令更新已经获得的、快要过期的证书: certbot renew。
云提供商支持
阿里云
开通阿里云的RAM服务,你可以创建一个用户,授予AliyunDNSFullAccess权限,然后为其创建一个AccessKey,从而编程式的创建TXT记录。
开源项目certbot-dns-aliyun已经完成了大部分的工作,我们直接安装并使用即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
virtualenv /root/Python/venvs/certbot-dns-aliyun source /root/Python/venvs/certbot-dns-aliyun/bin/activate pip install certbot-dns-aliyun # 自动设置TXT记录并获取证书 certbot certonly -a certbot-dns-aliyun:dns-aliyun \ --certbot-dns-aliyun:dns-aliyun-credentials \ /root/Python/venvs/certbot-dns-aliyun/credentials.ini \ -d k8s.gmem.cc -d *.k8s.gmem.cc # 更新证书 certbot renew -a certbot-dns-aliyun:dns-aliyun \ --certbot-dns-aliyun:dns-aliyun-credentials \ /root/Python/venvs/certbot-dns-aliyun/credentials.ini |
你需要创建一个文件credentials.ini,在其中填写AccessKey,设置文件模式为600:
1 2 |
certbot_dns_aliyun:dns_aliyun_access_key = ... certbot_dns_aliyun:dns_aliyun_access_key_secret = ... |
Leave a Reply