1. 安装 acme.sh
curl https://get.acme.sh | sh
安装完成后会生成 ~/.acme.sh/
目录
并配置读取 acme.sh.env 中的命令 . "~/.acme.sh/acme.sh.env"
我们可以使用 . ~/.bashrc
或 source ~/.bashrc
让配置立即生效,也可以重新打开一个终端登录服务器。
此时 acme.sh 命令就可以使用了
2. 生成证书
acme.sh --issue -d yourdomain.com --nginx
更多生成方式参考 生成证书
3. copy/安装 证书
acme.sh --installcert -d <domain>.com \
--key-file /etc/nginx/ssl/<domain>.key \
--fullchain-file /etc/nginx/ssl/<domain>.cer \
--reloadcmd "service nginx force-reload"
4. 创建定时任务,每日检查更新
Cron 示例
0 0 * * * "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null
5. 更新 acme.sh
acme.sh --upgrade --auto-upgrade
6. http 跳转 https
if ($scheme = http) {
return 301 https://$host$request_uri;
}
7. nginx https 配置
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/<domain>.cer;
ssl_certificate_key /etc/nginx/ssl/<domain>.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
8. 验证 ssl 配置安全性
https://www.seoptimer.com/your-domain.com
如果看到 Serurity 是 A+ 就足够了,其他选项可以根据个人需要按照提示进行调整。