certbot-auto在2020年3月份停止维护,目前域名更新暂未受影响,但新增已经无法使用,官方建议使用snap进行certbot的安装和更新。
一、基本环境
1、安装依赖
sudo yum install openssl
sudo yum install epel-release
2、生成2048位 DH parameters:
sudo openssl dhparam -out /etc/letsencrypt/live/dhparams.pem 2048
3、安装snap
sudo yum install snapd
4、启用管理主 snap 通信套接字的 systemd 单元:
sudo ln -s /var/lib/snapd/snap /snap
注销并重新登录或重新启动系统以确保正确更新 snap 的路径
参考链接:https://snapcraft.io/docs/installing-snap-on-centos
5、更新snap到最新版
sudo snap install core; sudo snap refresh core
6、删除 certbot-auto 和任何 Certbot OS 包
sudo apt-get remove certbot(Ubuntu)
sudo dnf remove certbot(CentOS8)
sudo yum remove certbot.(CentOS7)
清理certbot-auto
参考链接:https://certbot.eff.org/docs/uninstall.html
7、安装certbot
sudo snap install --classic certbot
确保/var/lib属主和属组均为root,不然会安装失败
8、建立连接,确保certbot失效
sudo ln -s /snap/bin/certbot /usr/bin/certbot
9、执行命令安装证书
sudo certbot --nginx(自动)
Certbot默认nginx配置文件在 /etc/nginx/nginx.conf 或 /usr/local/etc/nginx/nginx.conf,若你的nginx配置文件不在此处(以/usr/local/nginx/conf/nginx.conf为例),需在命令加上 --nginx-server-root /usr/local/nginx/conf,主配置文件所在目录,不是虚拟主机配置文件目录。
sudo certbot certonly --nginx(手动)
配置文件同上操作,执行后会出现选择域名列表,多个域名空格隔开,不在需要老版的各种参数,需要手动调整配置文件。
10、自动更新
Certbot 软件包带有一个 cron 作业或 systemd 计时器,它们会在证书到期之前自动更新证书。除非更改配置,否则无需再次运行 Certbot。可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
二、DNS指向及域名的http服务
三、域名验证
1、nginx配置文件
location /.well-known/acme-challenge/ {
allow all;
}
2、如果使用apache,移除apache的干扰
mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org
service httpd restart
3、修改配置nginx文件
if ($scheme = http) {
#return 301 https://$server_name$request_uri; (强制跳转)
}
location ~ /.well-known {
allow all;
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/www.yri.cc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.yri.cc/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 20m;
ssl_dhparam /etc/letsencrypt/live/dhparams.pem;
5、nginx重新加载
6、打开防火墙端口
firewall-cmd --zone=public --add-port=443/tcp firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --list-all 查看效果
One comment
你的文章让我感受到了快乐,每天都要来看一看。 https://www.yonboz.com/video/93709.html