几周前偶然进入译卷,发现里面的题目训练部分出错了,提示是
你现在无法访问 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!
标签:key,证书,过期,xxx,隐蔽,https,页面 From: https://www.cnblogs.com/Delusional-man/p/17274177.html