先了解下:
第一种 泛域名:
第二种 确定的域名,以及子域名
第一种
1、泛域名证书需要手动配置DNS解析,3个月到期,无法自动续期。只能手动续期
2、一个域名匹配所有地址,确实方便
第二种
一个域名一个证书,如果多个的话,管理起来繁杂,但是可以自动续期,省事儿。
实际操作:
安装certbot
[root@s76 ~]# yum install -y epel-release`
[root@s76 yum.repos.d]# yum install -y certbot
…
Installed:
certbot.noarch 0:1.11.0-2.el7
…
接下来,安装Certbot和Nginx插件:
[root@s76 ~]#sudo yum install certbot python2-certbot-nginx -y
[root@s76 yum.repos.d]# certbot --version
certbot 1.11.0
[root@s76 yum.repos.d]# which certbot
/usr/bin/certbot
### 开始申请ssl证书
分两种:
手动申请,比如 泛域名证书 *.baidu.com
自动申请,子域名证书 map.baidu.com
第一种 手动申请命令:
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --email 邮箱@qq.com --agree-tos -d *.你的域名
邮箱用于注册使用 ,后边的 *.你的域名,例如: *.baidu.com
-d 域名可以有多个,这里我踩坑了,*.域名 只能匹配到 子域名或www.域名,不能匹配到 baidu.com 这样的,所以 最好是这样的: -d *.baidu.com -d baidu.com
根据提示,要到域名解析的地方,增加解析:
看到Congratulations提示就说明免费证书申请成功了。证书和key存储到/etc/letsencrypt/live/目录下,真实目录是/etc/letsencrypt/archive,会生成一个根据域名名称生成的目录,目录下包括cert.pem 、chain.pem、fullchain.pem、privkey.pem四个文件。
原文链接:blog.csdn.net/carefree200…
打包下载ssl证书
将生成的证书及key文件压缩打包,并下载到本地。当然如果是在部署服务器上申请的证书直接拷贝到指定目录即可。
[root@s76 archive]# zip -r sun-site.com.zip sun-site.com/
adding: sun-site.com/ (stored 0%)
adding: sun-site.com/cert1.pem (deflated 27%)
adding: sun-site.com/privkey1.pem (deflated 23%)
adding: sun-site.com/chain1.pem (deflated 25%)
adding: sun-site.com/fullchain1.pem (deflated 31%)
[root@s76 archive]# sz sun-site.com.zip
原文链接:https://blog.csdn.net/carefree2005/article/details/139580577
配置nginx 的 ssl
ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;
重启 nginx
sudo systemctl restart nginx
关于证书自动续期可用 github.com/ywdblog/cer…
第二种 自动申请命令:
参考:blog.csdn.net/Mrxiao_bo/a…
sudo certbot --nginx --nginx-server-root /www/server/nginx/conf -d map.baidu.com -d www.map.baidu.com
/www/server/nginx/conf 这个路径是宝塔安装nginx的路径
map.baidu.com 这个是域名,替换成自己的域名,包括后边的www
sudo nginx -t
sudo systemctl restart nginx
systemctl list-timers | grep certbot
sudo crontab -e
30 3 * * * /usr/bin/certbot renew --quiet --nginx
sudo certbot renew --dry-run
sudo certbot certificates
申请后发现nginx的配置文件里插入了 ssl 的配置:
关于续期:安装完certbot 宝塔计划任务里也有一个,估计都可以
如何查询 在 Let's Encrypt 申请的证书
sudo certbot certificates
最后提供个卸载Certbot的方法:
sudo apt-get remove certbot
sudo dnf remove certbot
sudo yum remove certbot