使用 acme.sh 申请免费的 ssl 证书
废话不说直接上代码
1、安装 acme.sh
curl https://get.acme.sh | sh -s email=xxx@example.com source ~/.bashrc
2、acme.sh 默认的 ca 是 zerossl,如果想使用 letsencrypt 使用下面的命令修改
acme.sh --set-default-ca --server letsencrypt
3、申请证书
# 首先有个 nginx 服务器且公网可访问(域名已经解析到该服务器),如何安装这里不再说 # webroot 目录下建个目录 mkdir -p /usr/share/nginx/html/.well-known/acme-challenge chown -R nginx:nginx /usr/share/nginx/html/.well-known # 申请证书 acme.sh --issue -d wintok.cc -d www.wintok.cc --webroot /usr/share/nginx/html/ -k ec-256
4、安装证书并重载 nginx (默认会自动添加一条crontab命令,启动crond服务就会自动续期,默认60天自动续期)
acme.sh --installcert -d wintok.cc -d www.wintok.cc --key-file /etc/ssl/wintok.cc.key --fullchain-file /etc/ssl/wintok.cc.pem --ecc --reloadcmd "systemctl reload nginx"
5、nginx 配置 ssl 证书
# Http Server,强制跳转Https
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name wintok.cc www.wintok.cc;
rewrite ^(.*)$ https://www.wintok.cc$1 permanent;
}
# Https Server
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.wintok.cc;
root /usr/share/nginx/html;
index index.html index.htm;
ssl_certificate /etc/ssl/wintok.cc.pem;
ssl_certificate_key /etc/ssl/wintok.cc.key;
}

浙公网安备 33010602011771号