为避免出现未知错误导致证书申请失败,下面操作均为root用户执行
申请及安装证书
# 关闭防火墙
ufw disable
# 如果启动了nginx,要先关闭nginx,因为nginx服务会占用80端口导致申请证书失败
sudo systemctl stop nginx.service
# 安装socat
apt install socat
# 安装acme
curl https://get.acme.sh | sh
# 添加软链接
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
# 注册账号
curl https://get.acme.sh | sh
# 切换默认CA机构
acme.sh --set-default-ca --server letsencrypt
# 申请证书
acme.sh --issue -d 替换为你的域名 --standalone -k ec-256
# 安装证书文件到指定路径
acme.sh --install-cert -d 替换为你的域名 --ecc --key-file /path/to/cert_file.key --fullchain-file /path/to/cert_file.crt
# 启动nginx
systemctl start nginx.service
# 开启防火墙
ufw enable
证书续签
# 关闭nginx和防火墙
ufw disable
sudo systemctl stop nginx.service
# 给单个域名续期
acme.sh --renew -d 你的域名
# 一键续期所有证书
acme.sh --renew-all
# 启动nginx和打开防火墙
systemctl start nginx.service
ufw enable
注意: 如果证书还没有到期就执行续期操作,可能会失败,此时可以通过在命令中添加
--force参数强行续期
常用命令
# 列出所有证书信息
acme.sh --list
# 查看某个证书的信息
acme.sh --list -d 你的域名
# 吊销证书
acme.sh --revoke -d 你的域名
# 删除证书
acme.sh --remove -d 你的域名
注意: 执行吊销和删除证书操作后,并不会删除已安装的证书文件,还需要手动删除相关文件
评论