ACME.sh 证书管理笔记

acme.sh,这是一个开源的工具,用于自动化获取和续期 SSL/TLS 证书(比如 Let's Encrypt 的免费证书)

1. 常用命令

查看版本

docker exec -it acme acme.sh --version

手动续期证书

docker exec -it acme acme.sh --renew -d yourdomain.com

注册账号(修改邮箱)

docker exec -it acme acme.sh --register-account -m 347399012@qq.com

申请证书

docker exec -it acme acme.sh --issue -d xui.755855.xyz -w /html --cert-home /cert

2. Nginx 配置(用于验证)

location ~ /.well-known/acme-challenge {
    allow all;
    default_type "text/plain";
}

3. Docker Compose 配置(acme.yml)

services:
  acme:
    image: neilpang/acme.sh
    container_name: acme
    volumes:
      - /data/acme/cert:/cert
      - /data/nginx/html:/html
    command: "sleep infinity"

4. 证书文件说明

共生成四个证书文件:

文件说明
xui.755855.xyz.cer服务器证书
xui.755855.xyz.key私钥
ca.cer中间 CA 证书
fullchain.cer完整证书链

示例路径

/data/acme/cert/xui.755855.xyz_ecc/
├── xui.755855.xyz.cer
├── xui.755855.xyz.key
├── ca.cer
└── fullchain.cer

5. 证书格式转换

.cer 转 .pem(模糊转换)

openssl x509 -in fullchain.cer -out xuifull.pem

.cer (DER) 转 .pem

openssl x509 -inform der -in certificate.cer -out certificate.pem

.pem 转 .cer (DER)

openssl x509 -outform der -in certificate.pem -out certificate.cer

6. Nginx 引用证书示例

ssl_certificate /etc/nginx/certs/xuifull.pem;
ssl_certificate_key /etc/nginx/certs/xuikey.pem;

Docker acme.sh 证书申请记录

命令

docker exec -it acme acme.sh --issue -d www.775776.xyz -w /html --cert-home /cert

相关路径

  • 验证文件路径:

    www.775776.xyz/.well-known/acme-challenge/test.txt
  • 网站根目录:

    www.775776.xyz/onenav

服务器信息

  • IP 地址:35.212.182.88
  • 端口:7870

Nginx 配置片段

include       /etc/nginx/mime.types;
default_type  application/octet-stream;

标签: none

添加新评论