
US.KG 域名 HTTPS 访问失败怎么排查443 监听、证书主机名与链校验【免费下载链接】US.KGFree domain registration and practical DNS learning resources for everyone.项目地址: https://gitcode.com/GitHub_Trending/us/US.KG在 US.KGDigitalPlat FreeDomain 提供的 .us.kg 免费域名服务注册域名、把网站部署到服务器后浏览器访问https://地址失败时通常卡在三处443 端口没监听、服务器返回的证书不覆盖你访问的主机名、或证书已过期且信任链不受信。仓库的故障排查决策树 HTTPS Fails 给出了一条固定顺序的排查路径先确认 HTTP 能到达目标服务器再依次检查 443 是否监听、证书是否覆盖请求的主机名、证书是否仍在有效期且链可信这些都通过后才轮到重定向循环、应用错误和混合内容。本文按仓库文档整理这条路径命令来自 命令参考 与 HTTPS 章节。适用环境与准备仓库文档的示例环境是 Debian 或 Ubuntu 系 Linux 服务器加 Nginx要求网络与主机防火墙放行入站 TCP 80 和 443见 服务器准备。其他 Web 服务器只要提供相同的 HTTP、TLS、日志与虚拟主机能力也可以参照同一流程。下文命令沿用文档示例域名example.dpdns.org与示例地址192.0.2.10执行时把域名整体替换为你注册的.us.kg域名含www子域把 IP 替换为你的服务器地址。决策树文档的要求是一次只用一棵树改动任何配置前先记录观察到的现象Record observations before changing configuration。第 0 步先确认 HTTP 能到达目标服务器决策树的第一个分支是 Does HTTP reach the intended server?——如果 HTTP 都到不了目标服务器要先修 DNS、路由、防火墙或 Web 服务器再谈证书问题。curl -I http://example.dpdns.org dig A example.dpdns.org dig AAAA example.dpdns.org若dig返回的地址不是你的服务器先按 DNS 排查 修复解析。诊断时使用正常输出而不是dig short因为短输出会丢失标志、权威和 TTL 上下文。HTTPS 章节 的签发前检查要求不能有指向不可达服务器的陈旧AAAA记录DNS 排查 也指出 IPv4 与 IPv6 可能指向不同服务器两类记录要分别核对。第 1 步443 是否在监听从客户端和服务器两侧确认。客户端侧先测 TCP 连通性nc -vz example.dpdns.org 443文档明确提醒TCP 连接成功不能证明 HTTP、TLS 或应用层是正确的。所以nc通了不代表 HTTPS 正常它只排除了端口不通这一层。服务器侧查看本地监听端口# Linux sudo ss -lntup # macOS lsof -nP -iTCP -sTCP:LISTEN443 未监听决策树分支是 Configure the HTTPS virtual host。仓库文档中证书配置来自受评审的 ACME 工作流产出由 ACME 客户端完成签发与接入不手写证书路径见 Capstone 第 3 步。改完配置先sudo nginx -t测试通过后sudo systemctl reload nginx。443 监听着但客户端仍连不上检查网络与主机防火墙是否放行 TCP 443。文档要求网站流量至少放行 80 和 443防火墙规则应是评审过的规则不要顺手开放无关端口。第 2 步证书是否覆盖请求的主机名443 连通后取出服务器实际返回的证书并核对字段openssl s_client -connect example.dpdns.org:443 -servername example.dpdns.org /dev/null 2/dev/null \ | openssl x509 -noout -subject -issuer -dates -ext subjectAltName文档给出的成功条件证书必须对每一个对外提供 HTTPS 的公开主机名有效subjectAltName 中应同时包含根域名与www有效期为当前有效日期链chain为目标客户端所信任的链。如果 SAN 里缺少你实际访问的主机名决策树分支是 Issue or select the correct certificate。签发前按 Capstone 第 1 步核对前置条件dig A example.dpdns.org dig AAAA example.dpdns.org dig A www.example.dpdns.org curl -I http://example.dpdns.org dig CAA example.dpdns.org即域名已解析到目标服务器、80 端口或该证书流程要求的其他验证方式可用、Web 服务器接受证书上将出现的所有主机名、CAA 记录允许该流程使用的 CA。然后用 ACME 客户端按实际主机名列表重新签发文档的 Nginx 集成示例sudo acme-client --nginx -d example.dpdns.org -d www.example.dpdns.org其中acme-client是占位符要替换为你安装的实际客户端命令及其已评审的参数。文档同时提醒私钥不要粘贴到网站、工单、聊天或 DNS 记录里。DNS 尚未生效时的可选分支可以用--resolve直接把主机名指向服务器地址测试该命令会按主机名校验证书curl --resolve example.dpdns.org:443:192.0.2.10 -I https://example.dpdns.org把192.0.2.10替换为你的服务器地址。这样不必等 DNS 传播就能判断证书与虚拟主机是否配对。第 3 步证书是否在有效期、链是否可信上面 openssl 输出中-dates给出有效期-issuer给出签发者。对照 Capstone 的验收标准当前有效的日期、SAN 同时含根域名与www、链为客户端所信任。按决策树分支处理证书过期或续期失败修复续期或链配置Repair renewal or chain configuration。用所装 ACME 客户端文档中给出的 dry-run 或测试续期命令验证续期——第一张证书签发成功并不证明自动续期成立。同时监控续期定时器或计划任务、证书到期时间、续期日志以及可能破坏验证的端口与 DNS 变更。链不受信同样进入 Repair renewal or chain configuration 分支检查链配置。第 4 步监听、主机名、有效期都正常时决策树的最后一层是检查重定向循环、应用错误和混合内容。curl -I http://example.dpdns.org curl -I https://example.dpdns.org curl -I https://www.example.dpdns.org curl -IL http://www.example.dpdns.org/about.html systemctl status nginx --no-pager journalctl -u nginx --since 30 minutes ago --no-pagercurl -IL追踪整条重定向链响应应到达规范的 HTTPS 地址不应出现循环或不必要的跳转。HTTP 到 HTTPS 的重定向配置Nginx 示例server { listen 80; listen [::]:80; server_name example.dpdns.org www.example.dpdns.org; return 308 https://example.dpdns.org$request_uri; }改完先sudo nginx -t通过后sudo systemctl reload nginx。服务器日志应没有反复出现的应用错误浏览器控制台不应出现混合的 HTTP 内容HTTPS 章节 的最终检查项。单独分支www 可访问但根域名失败决策树为这个现象单列了一棵小树按顺序判断根域名在外部 DNS 中是否有预期的 A 或 AAAA 记录没有就补建Web 服务器是否接受根域名主机名不接受就加进虚拟主机证书是否覆盖根域名不覆盖就在签发时包含它以上都通过再检查规范重定向配置。DNS 排查 的明确说明www的 CNAME 不会自动配置根域名两个主机名要分别准备。求助前保存诊断输出仓库建议把诊断过程落到文件方便他人协助{ date -u dig NS example.dpdns.org dig A example.dpdns.org curl -I --max-time 15 https://example.dpdns.org } domain-diagnostic.txt 21分享前删除个人数据、内部主机名、令牌、cookie 等无关输出。完整证据还应包含精确的主机名与记录类型、dig NS输出、对权威服务器的直接查询、期望值与实际值、变更时间与之前的 TTL清单见 DNS 排查。限制本文路径基于仓库文档的示例环境Debian/Ubuntu 系 Linux Nginx监听检查在 命令参考 中同时给出了 macOS 版本。nc成功只证明 TCP 连通不证明 TLS 正确诊断时dig使用正常输出而非short。文中的acme-client、example.dpdns.org、192.0.2.10均为文档示例值替换方式已在上文标注替换前不要执行对应命令。学习演练时不要故意破坏公共 DNS 或生产证书Capstone 第 10 步的明确约束。【免费下载链接】US.KGFree domain registration and practical DNS learning resources for everyone.项目地址: https://gitcode.com/GitHub_Trending/us/US.KG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考