在 Debian 系统上实现域名自动续费,通常涉及到 SSL 证书的自动续期。以下是使用 Certbot 和 acme.sh 实现自动续期的步骤:
Certbot 是一个常用的工具,用于自动获取和安装 Let’s Encrypt 的证书,并支持自动续期。以下是详细步骤:
sudo apt update
sudo apt install certbot
sudo certbot certonly --manual --preferred-challenges=dns --email your-email --server https://acme-v02.api.letsencrypt.org/directory -d your-domain
编辑 Nginx 配置文件,例如:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
root /var/www/html;
index index.html;
}
}
sudo systemctl restart nginx
sudo crontab -e
添加以下行,每天检查一次证书并续期:
0 3 * * * certbot renew --quiet
acme.sh 是一个开源的 ACME 客户端,可以实现 SSL 证书的自动续期。以下是详细步骤:
mkdir -p /etc/acme/{config,live,certs}
mkdir -p /var/www/acme/.well-known/acme-challenge
chown -R username /var/www /etc/acme
git clone https://github.com/acmesh-official/acme.sh.git /etc/acme/acme.sh
/etc/acme/acme.sh --install -m your@email.com --home /etc/acme --config-home /etc/acme/config --cert-home /etc/acme/certs
source ~/.bashrc
/etc/acme/acme.sh --config-home '/etc/acme/config' --upgrade --auto-upgrade
创建并修改 /etc/nginx/acme.conf
文件:
location /.well-known/acme-challenge/ {
alias /var/www/acme/.well-known/acme-challenge/;
}
修改需要添加 SSL 证书的域名 Nginx 配置文件:
server {
listen 80;
listen [::]:80;
server_name demo.com;
include /etc/nginx/acme.conf;
location / {
return 301 https://$server_name$request_uri;
}
}
sudo nginx -s reload
crontab -e
添加以下行,每小时检查一次证书并续期:
0 * * * * "/etc/acme/acme.sh" --cron --home "/etc/acme" --config-home "/etc/acme/config" > /dev/null
通过以上步骤,您可以在 Debian 系统上实现域名的自动续费,确保您的网站始终使用有效的 SSL 证书。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:debian域名怎么续费