Caddy 3 步快速开启 ECH,把真实域名藏进 TLS 握手 Caddy 3 步快速开启 ECH把真实域名藏进 TLS 握手【免费下载链接】caddyFast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS项目地址: https://gitcode.com/GitHub_Trending/ca/caddy用户访问 Caddy 托管的站点时会在连接的第一时刻把域名明文广播给全网。ECHEncrypted Client Hello加密客户端问候就是用来藏住这条信息的Caddy 自 v2.6 起在 TLS 模块里内置了它默认替访客守住访问足迹。什么场景下你的域名是裸露的HTTPS 虽然加密了内容但连接开头有一句话是明文的浏览器先告诉服务器“我要访问哪个域名”这句话叫 SNIServer Name Indication服务器名称指示。线路上的运营商、公司网关、公共 Wi-Fi 经营者都能顺手记下它攒够一段时间就能拼出一份相当准确的“某人在哪些日子访问过哪些站”的清单。 打个比方就像住店客人在前台当着大堂所有人的面报房间号。ECH 改成了客人只说一句“我有预订码”真正的房间号只有客人和前台两个角色看得到。下面这几类人通常很在意这句话重视访问隐私的普通用户站点属性敏感媒体、医疗、内部系统入口的运营者不想让服务拓扑被外部流量分析探测出来的人。Caddy ECH 到底做了什么机制三句话能说完服务器端先生成一对 X25519 密钥一种用来协商共享密钥的算法并指定一个“外层域名”public_name掩护用的域名。浏览器把真实的 ClientHello建连时的第一封握手报文加密进外壳外壳上只写外层域名线路上就只剩外层域名可见。客户端的“预订码”从域名的 HTTPS 记录里获取一种按 RFC 9460 定义的新 DNS 记录类型Caddy 可以直接自动发布这条记录。服务端的事 Caddy 也替你做完了自动生成密钥、每 30 天轮换一次、90 天后清理旧密钥并会自动把站点最低版本抬到 TLS 1.3这是 ECH 的门槛。这些逻辑都集中在 modules/caddytls/ech.go 里可以对照着看。Caddy ECH 开启步骤第一步兼容性检查Caddy 版本 v2.6 以上域名的 DNS 服务商支持写入 HTTPS 记录最好让访客侧开了 DoH/DoT加密的 DNS 查询否则预订码可能拿不到想让 Caddy 自动发布记录需要用xcaddy build构建带对应 DNS 服务商插件的版本例如xcaddy build --with github.com/caddyserver/caddy-dns/cloudflare不想构建的话也可以自己手动把 HTTPS 记录写好浏览器侧Chrome 112、Firefox 113、Edge 112 及更新版本都支持。第二步写最小配置 ⚙️在 Caddyfile 的全局块里加一段ech选项参数就是外层域名{ ech public.example.com { dns cloudflare { token {env.CF_TOKEN} } } }外层域名必须能解析到你这台服务器Caddy 会为它申请一张证书只用于握手不承载业务流量。这段选项的解析逻辑在 caddyconfig/httpcaddyfile/options.go。第三步验证发布与握手 ✅先用dig short HTTPS 你的域名确认记录里出现了ech参数再打开浏览器的chrome://net-internals/#ech页面看握手是否走了加密路径。两处都通过就算上线了。ECH 排查清单 按“现象 → 处理”来对HTTPS 记录没出现→ 查 Caddy 日志里 “failed to publish ECH configuration” 相关报错。常见原因是构建里没带 DNS 服务商插件、API 密钥无效另外域名如果挂着 CNAME 记录Caddy 会主动跳过不发布。记录有了浏览器却不用 ECH→ 多半是访客侧 DNS 未加密没走 DoH/DoT配置可能被篡改或没取到也可能是浏览器版本低于支持线。外层域名申请证书失败→ public_name 没解析到本服务器这个必须修。否则客户端可能退回明文 SNI隐私反而丢了。部分连接仍是明文→ 属正常现象。不支持 ECH 的客户端照走原来的 TLS 通道可用性不受影响。值不值得上适合在意访问隐私的用户、敏感属性站点的运营者、想躲开流量分析的企业入口。 不适合纯内网或 IP 直连、没有可写 API 的 DNS 服务商、对 SNI 暴露毫不在意的场景。 代价源码里仍标着 EXPERIMENTAL配置结构可能调整外层域名要多养一张证书访客侧 DNS 未加密时拿不到任何收益。 性能上开销很小握手延迟增加在毫秒量级基本不构成取舍理由。回到大堂再回到开头那家酒店ECH 生效后前台记录的名单上只剩“预订码”这一种通用说法客人实际进了哪间房只有客人和前台知道。你的站点域名不再是当着大堂所有人喊出来的话而是只有双方共享的一个编号。如果你在用 Caddy、又能管理域名的 DNS这三步现在就可以走完。【免费下载链接】caddyFast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS项目地址: https://gitcode.com/GitHub_Trending/ca/caddy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

MarkItDown 完全教程:一条命令把 20+ 种文档格式转成 Markdown

MarkItDown 完全教程:一条命令把 20+ 种文档格式转成 Markdown

MarkItDown 完全教程:一条命令把 20 种文档格式转成 Markdown 【免费下载链接】markitdown Python tool for converting files and office documents to Markdown. 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown 周五晚上,收件箱…

2026/8/29 11:21:39
PaddleOCR 旧报纸数字化教程:模糊老报纸一键变成可检索电子文本

PaddleOCR 旧报纸数字化教程:模糊老报纸一键变成可检索电子文本

PaddleOCR 旧报纸数字化教程:模糊老报纸一键变成可检索电子文本 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Support…

2026/8/29 11:21:39
如何三步让 AI 前端设计摆脱模板感:Taste-Skill 技能系统详解

如何三步让 AI 前端设计摆脱模板感:Taste-Skill 技能系统详解

如何三步让 AI 前端设计摆脱模板感:Taste-Skill 技能系统详解 【免费下载链接】taste-skill Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop 项目地址: https://gitcode.com/GitHub_Trending/ta/taste-skill …

2026/8/29 11:21:39
LingBot-Map虚拟摄影机设计:follow、birdeye、static、pivot四种模式实战

LingBot-Map虚拟摄影机设计:follow、birdeye、static、pivot四种模式实战

LingBot-Map虚拟摄影机设计:follow、birdeye、static、pivot四种模式实战 【免费下载链接】lingbot-map A feed-forward 3D foundation model for reconstructing scenes from streaming data 项目地址: https://gitcode.com/GitHub_Trending/li/lingbot-map …

2026/8/29 11:21:39
OpenCut视频剪辑:15分钟跑通本地开发环境

OpenCut视频剪辑:15分钟跑通本地开发环境

OpenCut视频剪辑:15分钟跑通本地开发环境 【免费下载链接】OpenCut The open-source CapCut alternative 项目地址: https://gitcode.com/GitHub_Trending/ap/OpenCut OpenCut视频剪辑工具是一款开源免费的 CapCut 替代品,正在从底层重写&#xf…

2026/8/29 11:21:39
OpenViking记忆压缩与去重完整指南:LLM如何自动合并重复的用户偏好

OpenViking记忆压缩与去重完整指南:LLM如何自动合并重复的用户偏好

OpenViking记忆压缩与去重完整指南:LLM如何自动合并重复的用户偏好 【免费下载链接】OpenViking Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking …

2026/8/29 11:16:38