准备
本文操作均在 root 用户下操作,如果不是 root 用户,使用 sudo -i 命令切换。
需要使用 TCP 80 端口,请确保 TCP 80 端口没有被占用。
安装
安装一些依赖。
1 2
| apt install curl socat cron openssl systemctl enable --now cron
|
下载 acme.sh 并签发证书。
1 2 3
| curl -fsSL https://get.acme.sh -o /tmp/install-acme.sh sh /tmp/install-acme.sh email=<YOUR_EMAIL> /root/.acme.sh/acme.sh --issue --server letsencrypt --standalone -d "<YOUR_SERVER_IP>" --certificate-profile shortlived --keylength ec-256 --days 3
|
部署证书并重启 Nginx 服务。
如果是其它服务,修改 reloadcmd 后面的命令就可以。
这里证书保存目录为 /usr/cert/ip/,请根据实际需求修改。
1
| /root/.acme.sh/acme.sh --install-cert -d "<YOUR_SERVER_IP>" --ecc --key-file /usr/cert/ip/privkey.pem --fullchain-file /usr/cert/ip/fullchain.pem --reloadcmd "systemctl restart nginx"
|
检查证书:
1 2
| ls -la /usr/cert/ip openssl x509 -in /usr/cert/ip/fullchain.pem -noout -dates -ext subjectAltName
|
检查 acme.sh 的自动续期任务存在:
1 2
| crontab -l systemctl is-active cron
|