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

如何配置无ACME、严格SNI的Caddy反向代理(证书存于Vault)

Caddy反向代理配置方案(满足Vault证书懒加载与严格SNI需求)

核心配置(Caddyfile)

{
    storage vault {
        address "http://your-vault-address:8200"
        token "your-vault-token"
        path "secret/caddy/certificates" # 替换为Vault中实际的证书存储路径
        prefix "" # 无路径前缀则留空,按需调整
    }
    auto_https off
    tls {
        on_demand # 启用证书懒加载,仅在有请求时从Vault加载对应证书
        strict_sni # 严格SNI匹配,无对应证书时直接断开TLS连接
    }
}

:80 {
    reverse_proxy localhost:8080
}

:443 {
    tls
    reverse_proxy localhost:8080
}

配置关键点说明

  • Vault存储对接:通过storage vault块配置Vault的连接参数,确保Caddy能访问到外部维护的证书。需替换为你的Vault实际地址、访问令牌和证书存储路径。
  • 禁用自动HTTPS:auto_https off彻底关闭Caddy自带的ACME证书管理,完全依赖外部流程维护证书。
  • TLS规则配置:on_demand避免预加载大量证书,降低启动耗时;strict_sni确保无匹配SNI的请求直接断开TLS连接,不返回默认证书或错误页面。
  • 流量转发:80端口的HTTP请求、443端口的HTTPS请求统一转发至localhost:8080后端服务。

问题排查方向

若仍出现"无法找到对应证书"的错误,可从以下几点验证:

  • 确认Vault中证书的存储结构与Caddy配置的path完全匹配,证书需以对应域名作为标识存储(Caddy默认按域名组织证书目录)。
  • 检查Vault令牌权限,确保Caddy拥有该路径下证书的读取权限。
  • 启动Caddy时添加--log-level debug参数,查看证书加载的具体错误日志,定位路径或权限问题。

是否需要更换代理?

不需要更换代理。Caddy的Vault存储集成、on_demand懒加载、strict_sni特性完全覆盖你的需求:跨实例共享证书(依赖Vault分布式存储)、支持大量证书(懒加载避免预加载)、SNI匹配证书、严格SNI校验。配置正确即可实现预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 05:12:38