certbot 自动获取 https 证书
449 字
2 分钟
certbot 自动获取 https 证书
原本自建的 vaultwardeng 服务是通过 http 访问的,但是 iOS 上的 Bitwardeng 应用如果要访问家里的 vaultwardeng 应用,添加自签的 https 证书又比较麻烦,想到之前在阿里云上买的 10 年域名,为什么不直接弄一个二级域名通过 Let’s encrypt 来弄个真正的 https 证书呢?直接开搞
cloudflare token准备
certbot 可以通过 cloudflare 的 api 来做域名验证(验证某个域名的归属),因此要先准备 cloudflare 的 api token。从安全角度考虑,该 api token 只需要编辑 DNS 权限。
- 先添加要解析的域名

- API Tokens → Create Token

- 选择 Edit zone DNS 模板

- 精确到某个域名范围(推荐)

- 一路提交,将拿到的 token 存到 cloudflare.ini 文件中
# Cloudflare API token used by Certbotdns_cloudflare_api_token = <your token>Certbot 获取证书
docker-compose.yml
services: certbot: image: certbot/dns-cloudflare container_name: certbot environment: - TZ=Asia/Shanghai volumes: # /root/docker-compose/certbot/etc/letsencrypt/cloudflare.ini 中有上一步骤中获取到的 token - /root/docker-compose/certbot/etc/letsencrypt:/etc/letsencrypt command: >- certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini --dns-cloudflare-propagation-seconds 15 # 改成你的 cloudflare 账号 --email <your_cloudflare_email> --agree-tos --no-eff-email --force-renewal # 改成你要获取证书的域名 -d <your_domain> restart: unless-stopped启动 certbot
docker compose --compatibility -f /root/docker-compose/docker-compose.yml up -d certbot签发成功后可以看到拿到的证书
fullchain2.pem 和 privkey2.pem 可以配置到 nginx 中做 SSL 证书使用
tree /root/docker-compose/certbot/etc/letsencrypt/home/xxx/docker-compose/certbot/etc/letsencrypt├── accounts│ └── acme-v02.api.letsencrypt.org│ └── directory│ └── 98c1515d3c6f7980e5c4807982403d9b│ ├── meta.json│ ├── private_key.json│ └── regr.json├── archive│ └── <your_domain>│ ├── cert1.pem│ ├── cert2.pem│ ├── chain1.pem│ ├── chain2.pem│ ├── fullchain1.pem│ ├── fullchain2.pem│ ├── privkey1.pem│ └── privkey2.pem├── cloudflare.ini├── csr│ ├── 0000_csr-certbot.pem│ └── 0001_csr-certbot.pem├── keys│ ├── 0000_key-certbot.pem│ └── 0001_key-certbot.pem├── live│ ├── README│ └── <your_domain>│ ├── cert.pem -> ../../archive/<your_domain>/cert2.pem│ ├── chain.pem -> ../../archive/<your_domain>/chain2.pem│ ├── fullchain.pem -> ../../archive/<your_domain>/fullchain2.pem│ ├── privkey.pem -> ../../archive/<your_domain>/privkey2.pem│ └── README├── renewal│ └── <your_domain>.conf└── renewal-hooks ├── deploy ├── post └── pre📎 参考文章
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
certbot 自动获取 https 证书
https://blog.sephy.top/posts/certbot-自动获取-https-证书/相关文章智能推荐
1
在 PVE 上给软路由虚拟机加一个网络 Watchdog
技术分享在 PVE 宿主机上用 Bash 和 systemd timer 实现一个网络 watchdog:先检测公网连通性,连续失败后重启软路由虚拟机,多次自愈无效再升级为重启 PVE 宿主机。
2
命令行自动登录 JumpServer:SSH、TOTP 与密码提示的自动化
技术分享把 JumpServer 登录流程拆成凭据读取和终端交互两层:zsh 从密码管理器安全读取 TOTP seed 与可选密码,expect 只负责响应 SSH 登录过程中的 password 和 Code 提示。
3
git 个人开发工作流
技术分享介绍个人 Git 分支协作流程:以基线分支(如 feature-a)+ 个人开发分支(feature-a-xxx)进行开发,开发分支定期 rebase 同步上游,最终通过 merge(必要时先 squash 整理提交)合回基线;并提供 grebase/gmergebase 等脚本,支持自动推导基线分支、预览计划、带 autostash 的安全 rebase,以及可选 squash/推送/删除分支的安全 merge-back。
4
使用 docker-atrust 连入深信服
技术分享使用 Docker 容器运行深信服 aTrust 客户端,通过 VNC 完成登录,并结合本机 mihomo 配置实现公司内网的 DNS 解析与按域名、IP 的精确代理分流;宿主机暴露 1080 与 8888 端口供 socks5 和 HTTP 代理使用,从而在不安装原生客户端的情况下实现零信任接入并降低对本机的影响。
5
mihomo 使用
技术分享2025-09-30
随机文章随机推荐













