Skip to content

证书与 HTTPS

HTTPS 是 Passkey、OIDC 回调和多数公网服务的基础。证书要覆盖访问者实际使用的认证 Host 和业务 Host;只给一个内部地址或旧域名签证书,网关仍会出现浏览器警告或登录失败。

三种证书来源

来源适合场景注意事项
上传已有证书证书已由 CDN、面板或其他工具签发同时保存证书链和私钥,并记录续期责任
自签证书局域网测试或临时验证客户端需要手工信任,不适合普通公网访问
ACME有可验证域名且希望自动续期需完成 HTTP 或 DNS 验证,并保护 DNS 凭据;Windows 原生版只支持 DNS-01

证书库支持为不同域名保留多张证书。子域场景优先让证书覆盖认证 Host 和所有需公开的业务 Host;使用通配符时仍需确认它覆盖所需层级。

Windows 原生版:DNS-01 证书

Windows x86_64 版在 SSL / HTTPS → DNS-01 证书 中申请证书。安装包内置证书客户端,不需要初始化或下载 ACME.sh;该路径固定使用 Let's Encrypt,只接受 DNS-01 验证,不提供 HTTP-01 或其他证书颁发机构的切换。

需要在页面中选择受支持的 DNS 服务商,并以最小权限保存其 API 凭据。当前支持阿里云 DNS、Baidu Cloud DNS、Cloudflare、DNSPod、腾讯云 DNSPod、DuckDNS、Dynu、dynv6、GoDaddy、华为云 DNS 和 Porkbun。新申请项默认开启自动续期;签发成功会进入证书库。单活动证书模式下,首次签发后仍需手动将它设为当前证书。

推荐配置顺序

  1. 确定最终对外域名和端口,不要先用内网地址申请证书。
  2. 在 DNS 中确认认证 Host 和业务 Host 的解析已生效。
  3. SSL 证书 上传、申请或选择证书。
  4. 查看证书覆盖提示,修复未覆盖的 Host。
  5. 从移动网络访问认证 Host 和一个业务 Host,检查浏览器证书信息与登录流程。

自动 HTTPS 的边界

系统中的自动 HTTPS 只涉及网关侧的 HTTP 到 HTTPS 跳转和已配置证书的启用,不会替你申请域名、打开路由器端口或配置 CDN 回源。Docker 和 OpenWrt 环境不提供这一宿主机相关开关;由外层反代终止 TLS 时,应由外层负责强制 HTTPS。Windows 上即使显示该开关,也必须先有真实的入站链路和可用的 80 端口;新安装的 Windows 网关默认只监听回环,并不会因此变成公网入口。

排查

  • 浏览器提示域名不匹配:证书的 DNS 名称没有覆盖当前 Host,或上游 CDN 回源到了错误站点。

  • ACME 失败:先检查 DNS / HTTP 验证是否能从公网到达,以及 DNS provider 凭据的最小权限。Windows 原生版只检查 DNS-01 记录传播和受支持 DNS provider 的凭据,不要改用 HTTP-01 排查。

  • Cloudflared 使用 https://localhost:7999 失败:该上游 TLS 名称和证书必须匹配;无法匹配时先使用经过验证的 HTTP 回源方案,或调整 Tunnel 的 TLS 设置。

  • 业务页正常、Passkey 不可用:检查认证 Host 是否以有效 HTTPS 和正确 RP 域名访问。

  • DDNS 管理

  • 子域映射

  • Cloudflared 隧道

QQ群:1081609274