35 条回复  ·  3757 次点击
jianglibo 楼主 初学 5 天前
@qwx sorry,typo. 我改一下。
caola 小成 5 天前
DNS 验证不用说你应该都知道了吧,至于 HTTP-01 其实和 TLS-ALPN-01 差不多的,只是一个是文件验证,一个是 TLS 握手阶段进行协商密钥签名验证,为此我在前两年就用 go 语言专门写过对应的服务端(实现自动化)和客户端验证(提交 ACME 前自己先预检一次)。 AD: 欢迎使用我的网站 草啦 SSL ( https://cao.la )进行手动申请免费证书。
cccer 小成 5 天前
nginx 只支持不停机 HTTP-01 ,用 TLS-ALPN-01 必须停机一段时间将 443 端口用 stream 转发到 acme 客户端。 另外一个新的 challenge 预计今年内可以上线 DNS-PERSIST-01 ,手动在 DNS 记录配置一个公钥可以无限次续签通配符证书,从而使 acme 不需要去修改 dns 记录。
jianglibo 楼主 初学 5 天前
@diudiuu 为了便于你理解,我简化描述一下流程。你:请给 xxx.xx.com 签发证书,acme server: 给你一个它支持的 challenges 列表,比如 http-01,dns-01...。 你:请使用 http-01 验证,acme server: 好的,我就用 http-01 验证,它不会去遍历所有的 candicates 。
jianglibo 楼主 初学 5 天前
@cccer 不用停机,你可以做到,给你一个提示 steam ,你访问我提到的网站,我保证你可以成功不停机自动更新 nginx 和 haproxy ,我自己的网站就是这么做的啊。
jianglibo 楼主 初学 5 天前
@cccer 又是一个 typo ,stream. stream { map $ssl_preread_alpn_protocols $stream_backend { ~*acme-tls/1 127.0.0.1:9443; default 127.0.0.1:8443; } server { listen 443; listen [::]:443; proxy_pass $stream_backend; ssl_preread on; } }
holulu 小成 5 天前
@jianglibo acme 只会访问 80 端口,如果你的服务器跳转 443 ,acme 应该会 follow ,并且忽略证书验证,只检查 http body 里的 challenge token
jianglibo 楼主 初学 5 天前
@holulu 你在说什么呀,至少先问问 AI 再发表这种外行的言论.
diudiuu 初学 5 天前
@jianglibo 你把我弄蒙了,我看你啥都知道么。
cccer 小成 5 天前
@jianglibo 学到了,原来可以用 ssl_preread_alpn_protocols 区分 ssl 流量
返回顶部