问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

群辉7.X版本使用acme.sh实现SSL证书申请与自动续签

创作时间:
作者:
@小白创作中心

群辉7.X版本使用acme.sh实现SSL证书申请与自动续签

引用
CSDN
1.
https://m.blog.csdn.net/mfkd1000/article/details/143500948

本文将详细介绍如何在群辉7.X版本中使用acme.sh实现SSL证书的申请和自动续签。通过本文,你将学会如何购买域名、配置DNS解析、注册ZeroSSL账号、在群辉中安装acme.sh、申请证书以及设置自动更新证书等步骤。

HTTP是超文本传输协议,信息是明文传输;HTTPS则是具有安全性的SSL加密传输。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

一、购买域名并配置DNS解析

  1. 到阿里云购买域名,同时将域名解析到群辉的IPV4或IPV6地址。
  2. 获取Ali_Key和Ali_Secret:
  • 登录阿里云后台,点击右上角头像,进入AccessKey管理页面,创建一个新的AccessKey。
  • 使用记事本记录下Ali_Key和Ali_Secret,注意只会出现一次。

二、注册ZeroSSL账号

  1. 访问ZeroSSL官网(https://app.zerossl.com/signup),注册一个账号。
  2. 输入邮箱和密码进行注册,密码需要包含大小写字母、符号和数字。
  3. 注册完成后,可以在后台查看证书。

三、在群辉中安装acme.sh

  1. 新建文件夹(注意修改路径):

    sudo -i
    mkdir -p /volume2/docker/acme
    
  2. 创建compose.yml文件(注意修改路径):

    services:
      acme.sh:
        image: neilpang/acme.sh
        container_name: acme.sh
        restart: always
        volumes:
    
  • /volume2/docker/acme:/acme.sh
    network_mode: host
    command: daemon
    
    
  1. 运行docker-compose:

    cd /volume2/docker/acme
    docker-compose up -d
    
  2. 进入acme.sh容器并注册账号:

    docker exec -it acme.sh /bin/sh
    cd /root/.acme.sh
    ./acme.sh --register-account -m your-email@example.com
    
  3. 增加阿里云DNS API密钥:

    echo "export Ali_Key=\"your_ali_key\"" >> /etc/profile
    echo "export Ali_Secret=\"your_ali_secret\"" >> /etc/profile && source /etc/profile
    
  4. 申请证书:

    ./acme.sh --issue --dns dns_ali -d your-domain.com
    

四、证书安装与验证

  1. 查看证书存储目录:

    cd /usr/syno/etc/certificate/_archive/
    ls
    
  2. 将证书下载到桌面,并在群辉控制面板中安装:

  • 进入群辉-控制面板-安全性-证书-增加证书-设置为默认证书
  • 进入设置为新增加的域名

五、设置自动更新证书

  1. 创建定时更新脚本:

    echo "
    #!/bin/sh
    docker start acme.sh
    sleep 10
    rm -rf /volume2/docker/acme/your-domain.com_ecc/*
    docker exec -it acme.sh /root/.acme.sh/./acme.sh source /etc/profile
    docker exec -it acme.sh /root/.acme.sh/./acme.sh --issue --dns dns_ali -d your-domain.com
    sleep 15
    cp -r /volume2/docker/acme/your-domain.com_ecc/your-domain.com.cer /usr/syno/etc/certificate/system/default/cert.pem
    cp -r /volume2/docker/acme/your-domain.com_ecc/your-domain.com.key /usr/syno/etc/certificate/system/default/privkey.pem
    cp -r /volume2/docker/acme/your-domain.com_ecc/fullchain.cer /usr/syno/etc/certificate/system/default/fullchain.pem
    cp -r /volume2/docker/acme/your-domain.com_ecc/your-domain.com.cer /usr/syno/etc/certificate/_archive/your-folder/cert.pem
    cp -r /volume2/docker/acme/your-domain.com_ecc/your-domain.com.key /usr/syno/etc/certificate/_archive/your-folder/privkey.pem
    cp -r /volume2/docker/acme/your-domain.com_ecc/fullchain.cer /usr/syno/etc/certificate/_archive/your-folder/fullchain.pem
    " > /volume2/docker/acme/cer_update.sh
    
  2. 配置定时任务:

  • 进入群辉控制面板-任务计划-计划任务
  • 常规:名称自定义,用户选择root
  • 计划:每月执行一次,选择机器开机时运行
  • 任务设置:执行任务bash /volume2/docker/acme/cer_update.sh

其他命令

  • 注销域名:

    docker exec acme.sh /root/.acme.sh/./acme.sh --revoke -d your-domain.com
    
  • 删除账户:

    docker exec acme.sh /root/.acme.sh/./acme.sh --deactivate-account
    
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号