小编今天在访问自己博客的时候,突然发现网站访问好多功能失效了。报着程序员的心态打开了控制台,结果发现报错了(报错截图贴在下方)。小编很蒙,我并没有更改、部署过网站。但是为什么突然网站就崩了呢??于是就开始进行问题排查。

3c27730eeaa1ac7c13b4908c868e1ff.png

1. 问题排查

报错说我在https协议下访问了http协议的资源,这认为是不安全的,并不允许。但是我去我的代码里面搜索了一下htp://cdn.staticfile.net/jgurv/3.6.3/jquery.min.js这个代码,我发现我并没有引入这个资源。

代码中只有如下的资源:

image.png

然后我就先更改了一下nginx的配置文件,当我访问http协议的时候,不让他自动跳转到https。先用http去访问一下我的网站。

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name alvis.org.cn; #替换为域名
# rewrite ^(.*)$ https://$host$1;
location / {
# index index.html index.htm;
root /usr/share/nginx/html/myblogplus;
index index.html index.htm;
}
}

在http协议下可以正常访问,这就无疑了,就是这个CDN的问题。我就先把这个代码里的CDN更换成报错提示的CDN并加上Https协议试一下。发现问题解决了。

2. 问题原因

造成问题的原因是,https://www.staticfile.org/将域名更换成了https://www.staticfile.net/,然后所有的CDN资源重定向到.net域名后,将https协议变成了http协议,导致网站无法加载JS, 造成了网站大面积出错。