apisix/ssl_manager/CONFIG.md

3.3 KiB
Raw Blame History

配置说明

配置方式

配置已直接定义在 Python 文件中,不需要 config.json 文件。

方式一:直接修改 Python 文件(推荐)

编辑 Python 文件中的 DEFAULT_CONFIG 字典:

ssl_manager.py

DEFAULT_CONFIG = {
    'apisix_admin_url': 'http://localhost:9180',
    'apisix_admin_key': '8206e6e42b6b53243c52a767cc633137',
    'certbot_path': '/usr/bin/certbot',
    'cert_dir': '/etc/letsencrypt/live',
    'letsencrypt_email': 'admin@jingrowtools.cn',  # 修改为你的邮箱
    'letsencrypt_staging': True,  # 生产环境改为 False
    'webroot_path': '/var/www/certbot'
}

test_ssl_auto.py

DEFAULT_TEST_CONFIG = {
    'apisix_admin_url': 'http://localhost:9180',
    'apisix_admin_key': '8206e6e42b6b53243c52a767cc633137',
    'webroot_path': '/var/www/certbot',
    'letsencrypt_staging': True
}

方式二:使用环境变量(推荐用于生产环境)

通过环境变量覆盖默认配置:

export APISIX_ADMIN_URL="http://localhost:9180"
export APISIX_ADMIN_KEY="your-admin-key"
export LETSENCRYPT_EMAIL="your-email@example.com"
export LETSENCRYPT_STAGING="false"
export WEBROOT_PATH="/var/www/certbot"

方式三:使用配置文件(可选,向后兼容)

如果仍想使用 config.json,可以创建它,配置会覆盖默认值:

{
  "apisix_admin_url": "http://localhost:9180",
  "apisix_admin_key": "your-admin-key",
  "certbot_path": "/usr/bin/certbot",
  "cert_dir": "/etc/letsencrypt/live",
  "letsencrypt_email": "your-email@example.com",
  "letsencrypt_staging": false,
  "webroot_path": "/var/www/certbot"
}

然后使用 --config 参数:

python3 ssl_manager.py request --domain example.com --config config.json

配置优先级

  1. 环境变量(最高优先级)
  2. 配置文件(如果使用 --config 参数)
  3. Python 文件中的 DEFAULT_CONFIG(默认值)

配置项说明

配置项 说明 默认值
apisix_admin_url APISIX Admin API 地址 http://localhost:9180
apisix_admin_key APISIX Admin API 密钥 8206e6e42b6b53243c52a767cc633137
certbot_path Certbot 可执行文件路径 /usr/bin/certbot
cert_dir 证书存储目录 /etc/letsencrypt/live
letsencrypt_email Let's Encrypt 邮箱 admin@jingrowtools.cn
letsencrypt_staging 是否使用 staging 模式 True(测试环境)
webroot_path Webroot 验证文件路径 /var/www/certbot

快速配置

修改邮箱和切换到生产环境

编辑 ssl_manager.py

DEFAULT_CONFIG = {
    # ... 其他配置 ...
    'letsencrypt_email': 'your-email@example.com',  # 修改这里
    'letsencrypt_staging': False,  # 改为 False 使用生产环境
    # ... 其他配置 ...
}

修改 APISIX Admin Key

编辑 ssl_manager.py

DEFAULT_CONFIG = {
    'apisix_admin_key': 'your-new-admin-key',  # 修改这里
    # ... 其他配置 ...
}

注意事项

  1. Staging 模式:默认使用 staging 模式(测试环境),不会消耗生产环境配额
  2. 生产环境:切换到生产环境前,确保:
    • 域名 DNS 已正确解析
    • 80 端口可访问
    • 验证路径可访问
  3. 安全性:不要将包含敏感信息的配置文件提交到版本控制系统