测试站换上自签证书后,浏览器点继续访问能打开首页,后台保存文章一直转圈,控制台里 admin-ajax.php 全是 request failed,换回 http 就正常。日志里能对上时间点,这种反而好排。

自签证书不被系统信任,浏览器对 fetch 和 XHR 直接判失败,不像页面导航还能手动跳过。团队里几个人点过继续访问,其他人打开还是同样报错。这一点先确认清楚,后面就不用反复试。

mkcert -install
mkcert test.example.com "*.test.example.com"
# nginx 指向生成的 pem 和 key

「测试站自签证书」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

别只看报错的最后一行,往上看几行,真正的起因通常在上面。

处理上按这个顺序:用 mkcert 生成一张本地 CA 签的证书,把根证书装进系统信任区;测试站全站强制 https,别 http 和 https 混着用;后台的 ajax 地址跟随站点 URL,别写死 http;确认证书里包含测试域名,避免域名不匹配。

结果对不对很好判断,浏览器地址栏没有证书警告,后台保存文章不再出现 request failed,控制台无混合内容报错。

作者 9823189