MENU

使用 ACME 自动更新 SSL 证书

2019 年 06 月 09 日 • 阅读: 3652 • 脚本

相较于腾讯、阿里等云服务厂商,ACME 可免费生成 通配符证书,且仅需 5 分钟 便可完成配置,还可 自动永久续签。庞大的用户量和开源属性也决定其不会夹带后门,免于引狼入室。

证书生成

logi.im 改成你的域名,不要加诸如 www、blog 等子域,因脚本可生成通配证书。同时还需填上 Dnspod 或 Aliyun 的 KeySecret,你使用了哪家的 DNS 解析,就填写哪家。

#!/usr/bin/env bash

domain="logi.im"

# ALIYUN
export Ali_Key=
export Ali_Secret=

# DNSPOD
export DP_Id=
export DP_Key=

acme="~/.acme.sh/acme.sh"
cert_dir="/etc/nginx/ssl/$domain"
[[ ! -d "$cert_dir" ]] && mkdir -p "$cert_dir"
[[ ! -f "$acme" ]] && curl https://get.acme.sh | sh
[[ "$Ali_Key" ]] && dns_api=dns_ali || dns_api=dns_dp
$acme --issue --dns $dns_api -d $domain -d *.$domain
$acme --install-cert       -d $domain -d *.$domain \
      --key-file            $cert_dir/privkey.pem  \
      --fullchain-file     $cert_dir/fullchain.pem \
      --reloadcmd                  "nginx -s reload"

更改配置

下面的内容非可执行代码,而是 Nginx 配置文件。找到站点对应文件,把 <your_domain> 改成你的域名,如 logi.im,无需子域名,修改保持后重启服务 nginx -s reload

server {
    # SSL-START
    listen 443 ssl http2;
    ssl_certificate /etc/nginx/ssl/<your_domain>/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/<your_domain>/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    # SSL-END
}

经过以上配置,SSL 证书便可自动续期,无需人工干预。

TG 大佬群 QQ 大佬群

最后编辑于: 2020 年 01 月 17 日
返回文章列表 文章二维码
本页链接的二维码
打赏二维码
添加新评论

Loading captcha...