Let's Encrypt 的免费通配符证书 + Nginx配置(新版)

88 阅读1分钟

原文链接

1,第一步

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

image.png

2,第二步

image.png

export Ali_Key="LTAI5tADmNp***8TKAM"
export Ali_Secret="7rtLdFDUFph****93RPlYOT"
cd ~/.acme.sh/
./acme.sh --issue --dns dns_ali -d yire**in.com -d '*.yire**in.com'

image.png

然后
acme.sh --register-account -m 1023****@qq.com

image.png

然后还需要再次执行
./acme.sh --issue --dns dns_ali -d yire**in.com -d '*.yire**in.com'

image.png image.png

3,第三步

./acme.sh  --installcert -d yir****pin.com  -d *.yir****pin.com \
        --cert-file   /etc/letsencrypt/yir****pin/yir****pin.com.cer  \
        --key-file   /etc/letsencrypt/yir****pin/yir****pin.com.key  \
        --ca-file       /etc/letsencrypt/yir****pin/ca.cer   \
        --fullchain-file /etc/letsencrypt/yir****pin/fullchain.cer  \
        --reloadcmd '/usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf'

image.png

4,配置nginx

upstream yi***pin_mp_backend {
    server 127.0.0.1:8082;
}
server {
    listen       80;
    server_name  api.yi***in.com;
    return 301 https://api.yi***in.com;
}
server {
    listen 443 ssl;
    server_name api.yi***pin.com;
    # 配置站点证书文件地址
    ssl_certificate /etc/letsencrypt/yi***ipin/fullchain.cer;
    # 配置证书私钥
    ssl_certificate_key /etc/letsencrypt/yir***pin/yir***in.com.key;
    #ssl_prefer_server_ciphers  on;
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
    #ssl_session_cache          shared:SSL:50m;
    ssl_session_timeout        5m;

    client_max_body_size 200m;

    add_header Strict-Transport-Security max-age=60;

    location / {
        proxy_pass http://yi***pin_mp_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

最后去访问域名,如果访问不了,看443端口阿里云上面是否打开了,之前就是因为没打开一直无法访问。

image.png

5,配置脚本每天执行,SSL证书如果到期了会自动续期

下面这边定时任务并不是我自己配置的,发现是自动有的,那应该在安装的时候这个acme项目的时候自动加上的
cd /var/spool/cron/
cat root

image.png