Skip to content

证书申请器 ​

前言 ​

本文介绍使用Certbot和Cloudflare在Ubuntu服务器上搭建证书申请器,请先根据本章前言完成环境的搭建。

Certbot地址:

Cloudflare地址:

拉取镜像 ​

shell
sudo docker pull certbot/dns-cloudflare:latest

开放端口 ​

本文无需开放端口

配置API密钥 ​

  1. 准备一个Cloudflare账户,注册地址:https://dash.cloudflare.com/sign-up
  2. 打开网址:https://dash.cloudflare.com/
  3. 添加域名至Cloudflare
  4. 返回用户首页,在左侧边栏找到“管理帐户”,展开后点击“帐户API令牌”
  5. 创建一个帐户API令牌,权限设置为区域:DNS:读取、区域:DNS:编辑
  6. 保存创建好的API密钥

配置文件 ​

shell
# 创建并进入工作目录
sudo mkdir -p /srv/certbot && cd /srv/certbot

# 创建并编辑docker配置文件
sudo nano docker-compose.yml

# 创建并编辑Cloudflare API密钥文件
sudo nano apikey.ini

docker-compose.yml ​

yml
services:
  certbot:
    image: certbot/dns-cloudflare:latest
    container_name: certbot
    restart: no
    volumes:
      - ./conf:/etc/letsencrypt
      - ./data:/var/lib/letsencrypt
      - ./log:/var/log/letsencrypt
      - ./apikey.ini:/secrets/apikey.ini:ro
    command:
      - certonly
      - --dns-cloudflare
      - --dns-cloudflare-credentials
      - /secrets/apikey.ini
      - --dns-cloudflare-propagation-seconds
      - '60'
      - --force-renewal
      - --non-interactive
      - --agree-tos
      - --email
      - example@example.com # 此处填写邮箱
      - -d
      - example.com # 此处填写域名1
      - -d
      - www.example.com # 此处填写域名2

apikey.ini ​

ini
# 此处替换为您的Cloudflare API密钥
dns_cloudflare_api_token = example

开始运行 ​

shell
# 前往工作目录
cd /srv/certbot

# 开始运行
sudo docker compose up

程序运行完毕后,证书及私钥将创建于/srv/certbot/conf/archive或/srv/certbot/conf/live,使用前请阅读Certbot生成的README文件