acme证书管理笔记
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 /cert2. 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.cer5. 证书格式转换
.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.cer6. 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;