乐趣区

关于https:acmesh-快速实现-https-证书颁发与自动续期

acme.sh 疾速实现 https 证书颁发与主动续期

借助 acem.sh 来迅速实现 let’s encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就能够解决战斗

本文次要内容来自 acme.sh 的官网 wiki,所有以官网阐明为准: acme wiki

<!– more –>

I. 装置步骤

1. 登录服务器

登录到某台 linux 服务器,我这里以 Centos 举例说明

ssh xxx@xxx

# 切换 root 账号
su

2. 装置acme.sh

yum install socat -y
curl  https://get.acme.sh | sh
cd ~/.acme.sh/

3. 申请密钥

到域名购买服务商,申请 api key,用于前期的 txt 记录验证

DNSPod

密钥申请结束之后,如下操作导入命令

# DNSPod
export DP_Id="id"
export DP_Key="key"

阿里云

ALY_KEY 和 ALY_TOKEN:阿里云 API key 和 Secrec 官网申请文档。

申请结束之后,如下操作

export Ali_Key="key"
export Ali_Secret="secret"

godaddy

  • GODADDY_KEY 和 GODADDY_TOKEN:GoDaddy API 密钥官网申请文档
export GD_Key="key"
export GD_Secret="secret"

其余

至于其余平台,应该如何导入 API key,能够参考上面的文档,这里不一一阐明了

  • https://github.com/acmesh-official/acme.sh/wiki/dnsapi

4. 证书生成

# 请留神,--dns 前面的参数,一般来讲后缀就是下面的导入 key 的前缀
# 如果不确定,到下面的 github 连贯中去找

# 针对 hhui.top 域名生成通配的证书
./acme.sh --issue --dns dns_ali - d *.hhui.top

证书生成之后,会在 .acme.sh 目录下,新生成一个 *.hhui.top(就是咱们下面指定的通配域名) 文件夹,证书在外面

5. 装置证书

接下来将咱们的证书装置到 nginx(当然也能够是 tomcat),上面的脚本除了装置之外,也增加了一个自动更新的工作(一般来说,60 天当前会自动更新,并会强制重启 nginx 使新的证书失效,能够通过 crontab -e看到对应的定时工作)

./acme.sh  --installcert -d *.hhui.top --key-file /etc/nginx/ssl/key.pem  --fullchain-file /etc/nginx/ssl/cert.pem --reloadcmd     "service nginx force-reload"

6. nginx 配置

而后就是配置 nginx,反对 https

上面是一个根底的 nginx 配置实例

server {
    server_name blog.hhui.top;
    root /home/yihui/xxx;
    index index.html;

    gzip on;
    gzip_buffers 32 4K;
    gzip_comp_level 6;
    gzip_min_length 100;
    gzip_types application/javascript text/css text/xml;
    gzip_disable "MSIE [1-6]\."; #配置禁用 gzip 条件,反对正则。此处示意 ie6 及以下不启用 gzip(因为 ie 低版本不反对)gzip_vary on;

    location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
        access_log   off;
        expires      1d;
    }

    location ~* ^.+\.(css|js|txt|xml|swf|wav|pptx)$ {
        access_log   off;
        expires      10m;
    }

    location / {try_files $uri $uri/ @router;}

    location @router {rewrite ^.*$ /index.html last;}

    listen 443 ssl;
    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 1.1.1.1 valid=60s;
    resolver_timeout 2s;
}

server {if ($host = blog.hhui.top) {return 301 https://$host$request_uri;}

    listen 80;
    server_name blog.hhui.top;
    return 404;
}

II. 其余

1. 一灰灰 Blog:https://liuyueyi.github.io/he…

一灰灰的集体博客,记录所有学习和工作中的博文,欢送大家前去逛逛

2. 申明

尽信书则不如,以上内容,纯属一家之言,因集体能力无限,不免有疏漏和谬误之处,如发现 bug 或者有更好的倡议,欢送批评指正,不吝感谢

  • 微博地址: 小灰灰 Blog
  • QQ:一灰灰 /3302797840

3. 扫描关注

一灰灰 blog

退出移动版