使用 certbot 申请泛域名证书和自动续签

使用 certbot 申请泛域名证书和自动续签,第1张

使用 certbot 申请泛域名证书和自动续签 下载certbot

certbot官网

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx

查看certbot版本

certbot --version

申请 HTTPS 证书

sudo certbot certonly  -d "*.example.com" -d example.com --manual --preferred-challenges dns-01  --server https://acme-v02.api.letsencrypt.org/directory
  • certonly 安装模式
  • -d 申请证书的域名,如果是通配符域名输入 *.example.com
  • –manual 手动安装插件
  • –preferred-challenges dns 使用 DNS 方式校验域名所有权
  • –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定



第一次执行完命令之后会提示需要输入邮箱,和一些协议需要同意和确认,然后每次运行此命令需要记录 IP 信息,需要同意不然不能继续申请




设置DNS TXT记录
需要在个人的域名供应商那进行dns域名解析,新增一个txt记录,将主机记录和记录值填上,线路类型一般默认,TTL默认一般设置600s,保存等待一小段时间即可。

ps:TTL为缓存的生存时间,默认最常用的 600 秒。指地方dns缓存您域名记录信息的时间,缓存失效后会再次到DNSPod获取记录值。

保存之后需要验证是否解析成功,验证方法见下方,验证成功之后,回车等待申请成功


如果是这样的就是证书申请成功了,然后在服务器上配置一下就可以了




验证DNS TXT 记录

nslookup -q=txt _acme-challenge.example.com




查看证书有效期

sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/moneystar.top/cert.pem

证书目录:/etc/letsencrypt/live/example.com

ls /etc/letsencrypt/live/example.com
cert.pem  chain.pem  fullchain.pem  privkey.pem  README
自动续订

创建续订证书脚本

touch {自己服务器的目录绝对路径}/sslrenew.sh

编辑脚本

vim {自己服务器的目录绝对路径}/sslrenew.sh

脚本内容

sudo certbot renew

设置脚本可执行

chmod +x {自己服务器的目录绝对路径}/sslrenew.sh

编辑定时任务,每月1号执行续订 *** 作

crontab -e

添加定时逻辑

0 0 1 * * {自己服务器的目录绝对路径}/sslrenew.sh

重新加载定时任务

service crond reload

查看定时任务列表

crontab -l


配置nginx
server {
        listen       443 ssl;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm;
        }
        ssl on;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on;
        ssl_certificate      /etc/letsencrypt/live/example.com/cert.pem;
        ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;
}


作者公众号

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4993246.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存