MENU

为SolusVM设置acme.sh自动续期Let’s Encrypt证书

July 11, 2025 • Read: 518 • Linux,笔记阅读设置

我最初尝试使用 论坛和网上有人提到的 svmstack-letsencrypt 包,但就是不行。一番查找之后,我发现有人在使用一个 acme.sh 脚本。  

我甚至联系了支持人员,并引用他们的话,  letsencrypt 脚本并不适合所有人,他们还建议我使用acme.sh,所以这些是我在我们的 SolusVM 主服务器上安装多域证书所执行的步骤。 

您可以按照 ACME Deploy SolusVM 说明中的步骤进行操作,但如果您像我一样运行 CentOS 7.x,那么您的某些步骤会略有不同。

首先下载并安装脚本

curl https://get.acme.sh | sh

现在,这会将脚本以 .acme.sh/acme.sh 的形式安装到您的用户帐户中,并添加一个别名。完成后,您需要注销并重新登录,以便系统识别更新后的 shell 路径。 

接下来确保该文件夹可用,如果不可用,您可能需要升级整个安装,以便目录存在并且 Nginx 具有将 ACME 请求传递到正确目录的配置。

ls -la /usr/local/solusvm/www/.verification

自 2022 年以后,acme.sh 默认将 CA 改为 ZeroSSL,如果没有设置邮箱,会卡在获取 EAB 授权这一步。Let’s Encrypt 则不需要账号注册,可直接申请证书,我们切换CA为 Let’s Encrypt。

acme.sh --set-default-ca --server letsencrypt

如果提示 -bash: acme.sh: command not found

则需要手动加载

source ~/.bashrc

如果没问题,接下来我们就可以获取证书了。

acme.sh --issue -d example.com -d www.example.net -w /usr/local/solusvm/www/.verification

之后您需要安装证书。

acme.sh --installcert -d example.com -d www.example.net --keypath /usr/local/svmstack/nginx/ssl/ssl.key --fullchainpath /usr/local/svmstack/nginx/ssl/ssl.crt --reloadcmd "systemctl restart svmstack-nginx; cd /usr/local/svmstack/nginx/ssl && cat ssl.key ssl.crt > ssl.pem"

完成这些步骤后,我可以浏览 SolusVM 主机上的每个 URL,并看到它现在正在使用 Let's Encrypt 证书。

此证书将通过 Let's Encrypt 自动续订,但您需要一个 cron 来更新。这是我的

0 0 * * * “/root/.acme.sh”/acme.sh --cron --home “/root/.acme.sh” > /dev/null

60天后会通过cron自动尝试证书renew。

文章转自 https://centosquestions.com/setup-solusvm-with-lets-encrypt-free-ssl-certificate/

Archives QR Code
QR Code for this page
Tipping QR Code