certbot续签ssl证书

ssl一直用的是阿里的免费证书,但是每年需要定时更换证书,之前免费证书有效期是1年,现在改成了3个月

常用命令

certbot renew -q // 续签(-q, –quiet 程序运行只输出错误信息)

certbot certificates // 查看证书

openssl x509 -in [公钥xx.pem] -noout -dates // 检测过期时间

openssl s_client -connect xxx.com:443 // 检查域名端口配置情况

centOS安装certbot

yum update yum

install certbot

生成证书:certbot certonly

网站链接证书(需指定网站目录,不占用80端口):

certbot certonly --webroot -w /home/wwwroot/xxx -d xxx.com

请求链接证书(无需指定网站目录,占用80端口,如nginx,需要先关闭):

certbot certonly --standalone -d xxx.com

注意:
使用生成证书的命令是有接口限制的,因此不建议频繁调用,如果报错了先排查出问题再继续,可以在末尾加上--dry-run用于获取测试证书排查问题,没有报错后再去掉它获取正式证书

certbot certonly --webroot -w /home/wwwroot/xxx -d xxx.com --dry-run

证书地址:

/etc/letsencrypt/live/xxx.com/fullchain.pem;

/etc/letsencrypt/live/xxx.com/privkey.pem;

配置nginx

server {

        # 某个版本前的老版本可以用ssl on,我的是 nginx/1.16.1,用listen

        listen 443 ssl;

        ...

        ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem;

        ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem;

}

证书续期

certbot默认注册的证书,有效期是90天, 需要定期更新证书

手动续期:certbot renew

在到期前30天之内才能续期,否则certbot会判断没有必要进行续期

自动续期(脚本)

创建脚本文件:

touch auto_update_ssl.sh

vim auto_update_ssl.sh

脚本文件内容:

#!/bin/bash

# 关闭

nginx nginx -s quit

# 证书更新完毕后,将关闭的nginx启动

certbot renew --force-renewal --renew-hook "service nginx restart" > /root/shell/log/auto_update_ssl.log 2>&1 &

注意:

由于证书会自动检测是否过期,若未过期,会导致--renew-hook命令执行失败,导致nginx未能成功启动,故加上--force-renewal

centOS设置计划任务:crontab -e

这里我设置每两月执行一次续期
0 0 1 */2 * /root/shell/auto_update_ssl.sh

问题

certbot的安装的过程可能会出现的一些问题

# urllib3问题********

python ImportError: cannot import name UnrewindableBodyError

=>

pip uninstall urllib3

sudo pip install --upgrade urllib3

# pyOpenSSL问题********

ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

=>

yum install http://cbs.centos.org/kojifiles/packages/pyOpenSSL/16.2.0/3.el7/noarch/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm

# 缺少文件********

http://xxx.com/.well-known/acme-challenge/OMxmbVthqV6XEcG5lG8jCvxa5k2A7ELowLFWZzOaatA:404

=>

创建名为[OMxmbVthqV6XEcG5lG8jCvxa5k2A7ELowLFWZzOaatA]的文件复制到相应路径即可

您好!要在宝塔面板上部署SSL证书,您可以按照以下步骤进行操作: 1. 登录宝塔面板:打开您的浏览器,输入您的宝塔面板地址(通常为IP地址或域名加上端口号8888),然后输入用户名和密码登录。 2. 添加网站:在宝塔面板主页,点击左侧菜单栏中的网站,然后点击右上角的添加网站按钮。填写您的域名、选择对应的Web服务器类型(如Nginx或Apache)、选择PHP版本等,并点击确认。 3. 安装SSL证书:在网站列表中找到您刚才添加的网站,点击网站名称进入网站设置页面。在左侧菜单栏中找到SSL,然后点击右上角的申请SSL证书按钮。 4. 选择SSL证书类型:在申请SSL证书页面,您可以选择使用宝塔面板自带的Let's Encrypt免费证书或者购买其他品牌的SSL证书。如果选择Let's Encrypt证书,可以直接点击申请按钮。 5. 配置SSL证书:在SSL证书安装页面,填写您的邮箱地址,并选择是否开启自动续签功能。然后点击确认按钮,等待证书申请和安装过程完成。 6. 配置网站使用SSL:回到网站设置页面,在左侧菜单栏中找到SSL,选择您刚才申请安装的SSL证书,并点击保存按钮。 7. 测试SSL证书:您可以尝试访问您的网站,确保网站已经成功使用SSL证书进行加密。 通过以上步骤,您就可以在宝塔面板上成功部署SSL证书了。请注意,具体操作可能会因宝塔面板版本或个人配置而有所不同,以上步骤仅供参考。如有问题,请参考宝塔面板的官方文档或寻求专业人士的帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值