当前位置:   article > 正文

使用 acme.sh 免费申请泛域名证书和自动续约_acme 泛域名

acme 泛域名

概述

acme.sh 实现了 acme 协议,可以帮助你快速申请 SSL 证书,自动更新证书等操作。

服务部署

这里使用 docker compose 来管理,docker-compose.yml 如下

# docker-compose.yml
services:
  acme.sh:
    image: neilpang/acme.sh
    container_name: acme.sh
    restart: always
    command: daemon
    volumes:
      - ./data:/acme.sh
    environment:
      TZ: Asia/Shanghai
      DP_Id: ******
      DP_Key: ******
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

执行命令

# 更新acme.sh
docker compose pull
# 部署
docker compose up -d
  • 1
  • 2
  • 3
  • 4

::: tip
这里使用的解析商是 DNSPod,其他的解析商可以参考 https://github.com/acmesh-official/acme.sh/wiki/dnsapi
:::

使用教程

证书生成

由于使用的是 DNS 验证的方式, 就是在域名上添加一条 TXT 解析记录, 以此来验证域名所有权。

acme.sh 便利的地方在于,可以使用域名解析商提供的 api 来自动添加 TXT 记录完成验证,并且在验证成功后自动删除记录。

执行命令,需要把 naomi.plus 替换成自己的域名,如果是其他解析商还要修改 dns_dp参考值

docker compose exec acme.sh --issue --dns dns_dp -d naomi.plus -d *.naomi.plus
  • 1

证书安装

执行命令,需要把 key-filefullchain-file 的参数值替换成自己的。

docker compose exec acme.sh --install-cert -d naomi.plus --key-file /acme.sh/file/naomi.plus.key --fullchain-file /acme.sh/file/naomi.plus.crt
  • 1

::: warning
默认生成的证书都放在宿主机当前目录下的文件夹 data, 请不要直接使用此目录下的文件,这里面的文件都是内部使用,而且目录结构可能会变化。

正确的使用方法是使用 --install-cert 参数, 并指定目标位置, 然后证书文件会被复制到相应的位置。
:::

证书更新

acme.sh 申请的证书大概在 60-90 天之间,根据所使用的 CA 机构而定

每天凌晨会检查所有证书,如果证书需要更新则会自动更新证书。

强制手动更新可以执行命令,需要把 naomi.plus 替换成自己的域名。

docker compose exec acme.sh --renew -d naomi.plus --force
  • 1

证书吊销

执行命令,需要把 naomi.plus 替换成自己的域名

docker compose exec acme.sh --revoke -d naomi.plus
docker compose exec acme.sh --remove -d naomi.plus
  • 1
  • 2

证书管理脚本

这里写了一个简单的脚本来配置证书,需要把 naomi.plus 替换成自己的域名

#!/bin/bash

# run.sh
echo "naomi.plus证书管理 输入选择:"
echo "1:查看证书"
echo "2:安装证书"
echo "3:更新证书(强制)"
read input

if [ $input -eq 1 ]; then
    docker compose exec acme.sh --info -d naomi.plus
elif [ $input -eq 2 ]; then
    docker compose exec acme.sh --install-cert -d naomi.plus --key-file /acme.sh/file/naomi.plus.key --fullchain-file /acme.sh/file/naomi.plus.crt
elif [ $input -eq 3 ]; then
    docker compose exec acme.sh --renew -d naomi.plus --force
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/460066
推荐阅读
相关标签
  

闽ICP备14008679号