GoForum🌐 V2EX

有多少人正真知道 amce challenge 的区别?

jianglibo · 2026-01-26 08:27 · 0 次点赞 · 7 条回复

let’sencrypt 发行证书支持的验证方式有:

  1. DNS-01
  2. HTTP-01
  3. TLS-ALPN-01

其中 DNS-01 可通过 CNAME 省去设置 apikey 和 secret ,当然前提至少有一个域名是可以修改记录 programmatically.

有些 http 服务器支持自动更新证书,知道是怎么实现的吗?

其实 nginx 和 haproxy 也可以轻易实现自动更新。是的,L4 级别的监听即可,不要 terminator TLS 就可以区分是否来自 acme challenge 。

测试每一种 challenge

7 条回复
holulu · 2026-01-26 08:37
#1

http 服务器在 http:///.well-known/acme-challenge 路径返回 challenge token 。

jianglibo · 2026-01-26 08:37
#2

@holulu http ( HTTP-01)可以直接复用端口,但是 https 呢?

diudiuu · 2026-01-26 08:37
#3

一般用这个 HTTP-01 去做,就是一楼说的那样 有些基于 acme 做的,是先检查 DNS-01 ,如果不行再检查 HTTP-01 ,正式环境都有错误限制,最好在测试环境的上做

totoro625 · 2026-01-26 08:37
#4

DNS-01 是一种,直接修改 DNS 的 TXT 记录,且支持 CNAME ,比较适合一个证书里面多个域名进行批量申请 HTTP-01 和 TLS-ALPN-01 是同一种,需要通过域名的解析记录进行实际访问,分别对应 80 端口和 443 端口

比如需要预申请证书,就得用 DNS-01 如果是已经在运行的服务器需要申请证书,可以用 HTTP-01 和 TLS-ALPN-01 申请正在运行的服务端的证书

DejavuMoe · 2026-01-26 08:42
#5

只有 DNS-01 支持通配符

jianglibo · 2026-01-26 08:47
#6

@DejavuMoe 是的,这个概念很重要。如果深入思考的话,只有 DNS-01 支持是必然的。IP 证书,或者 http-01 ,tls-alpn-01 都只能确定单个 hostname 。

jianglibo · 2026-01-26 08:47
#7

@diudiuu ‘有些基于 acme 做的’这个表述说明你还不是很清楚这个问题,需要继续思考。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: jianglibo
发布: 2026-01-26
点赞: 0
回复: 0