证书过期的隐蔽错误

几周前偶然进入译卷,发现里面的题目训练部分出错了,提示是

你现在无法访问 yijuan.xyz,因为网站使用的是 HSTS。网络错误和攻击通常是暂时的,因此该网页以后可能会恢复。

通过直接访问设置的NodeJs开启的端口以及利用postman发送请求,均显示该网页证书已过期。

一查看证书时间,好家伙,1月就过期了,但是奇怪的是主页面证书和宝塔里面的一致,均还未过期,就这个页面过期了。

后来真的是花了九牛二虎之力排查了一系列问题,都没找到是在哪除了错误,差点破防了。

好在最后在查看启动NodeJs服务器的js文件时,发现了下面这一条代码:

const options = {
    key: fs.readFileSync('../xxx/xxx/server.key'),
    cert: fs.readFileSync('../xxx/xxx/server.pem')
}

这段代码的目的是为将http请求强制转为https,就是关联一对非对称加密的密钥(pem对应的是证书,里面有公钥;key对应的就是私钥)。

因为实在排查不出问题,同学又说第二天要使用网页做展示,所以干脆就直接将https改为http算了(因为当时认为报错里面有HSTS,所以应该是https请求出错了)。

这时候我发现:耶?这个页面的证书好像就是用这两个静态文件,而这两个文件之前就一直没动过,宝塔里面证书的续签不会影响到这里,那好像......我更新这两个文件就可以了!?

啪的一下,很快啊,改完之后接口立马就能访问了,NICE!

posted @   Delusional_man  阅读(187)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示