准备

  1. VPS,一台服务器,幸运的话可以申请到oracle cloud终身免费的服务器。
  2. 域名,免费的域名申请网站:freenom自动续期
  3. 域名解析,Cloudflare提供免费的
  4. 数据库,db4free提供免费的,不要用于生产
  5. ssh工具,国内外很多
  6. 搭建一个网站,

安装 acme.sh

执行脚本

1
wget -O -  https://get.acme.sh | sh

生效acme.sh

1
. .bashrc

开启自动升级

1
acme.sh --upgrade --auto-upgrade

生成证书

1
2
3
acme.sh --set-default-ca --server letsencrypt
# 以ECC证书为例
acme.sh --issue -d 二级域名.你的域名.com -w /home/vpsadmin/www/webpage --keylength ec-256 --force

安装证书

1
2
3
acme.sh --install-cert -d 二级域名.你的域名.com --ecc \
--fullchain-file ~/nginx_cert/cert.pem \
--key-file ~/nginx_cert/key.pem

证书定期更新

1
2
3
4
5
6
#!/bin/bash

/home/vpsadmin/.acme.sh/acme.sh --install-cert -d a-name.yourdomain.com --ecc --fullchain-file /home/vpsadmin/nginx_cert/cert.pem --key-file /home/vpsadmin/nginx_cert/key.pem

chmod +r /home/vpsadmin/nginx_cert/key.pem

1
2
3
4
$crontab -e

# 1:00am, 1st day each month, run `cert-renew.sh`
0 1 1 * * bash /home/vpsadmin/nginx_cert/cert-renew.sh