You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Certbot的--dry-run与--staging选项有什么区别

Certbot 中 --dry-run 与 --staging 选项的区别

两个参数的设计初衷都是帮用户测试流程、避免触发正式环境的速率限制,但作用逻辑完全不同,不存在谁替代谁的关系:

  • --staging 是环境切换开关
    开启后Certbot所有请求都会发往Let's Encrypt的测试预备环境,而非正式签发环境。这个测试环境的速率限制阈值比正式环境宽松得多,但是签发出来的证书不会被公网浏览器信任,专门用来做全流程联调。开启这个参数后,不管是申请、续期、撤销证书,所有操作都和正式环境逻辑完全一致,只是运行在测试沙箱里,不会消耗正式环境的配额,也不会产出合法的可信证书。
  • --dry-run 是流程模拟开关
    开启后Certbot会走完证书申请/续期的全部前置校验步骤:包括域名所有权验证、配置文件合法性检查、插件兼容性校验,但最后不会真的向CA服务器发起证书签发请求,也不会修改本地任何已有的证书、配置文件。如果不额外加--staging参数,--dry-run默认会对接正式环境的校验接口,虽然这个接口的限流阈值比正常签发高,但依然远严于staging环境,短时间大量请求还是可能被限流。

你之前同时加两个参数能正常运行,是因为这两个参数的逻辑并不冲突:开启后实际执行的逻辑是「切换到宽松的staging测试环境 + 全流程模拟不实际签发证书、不修改本地配置」,属于双重保险的用法,所以一直没出问题。

给你几个明确的场景参考,不用每次都两个一起加:

  • 只是临时检查配置是否正确、域名验证能不能通,不需要生成任何证书文件:单用--dry-run即可
  • 调试自动化部署脚本、需要拿到实际的证书文件验证后续服务加载逻辑:单用--staging即可
  • 首次配置、对流程完全不熟悉,要尽量避免触发限流、改坏线上配置:两个参数同时加是最稳妥的选择

注意:不要在生产环境的自动续期定时任务里加这两个参数,前者会导致拿不到合法可信的证书,后者会导致续期流程根本不实际执行。

内容的提问来源于stack exchange,提问作者lonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 16:03:35