大概是1月24号晚上十一点半左右,访问了一下博客,所有图片全部都404了。

原本以为Github的问题,但是Github访问一切正常

又访问了以下图片直链,结果404

后来发现是图片直链上面CDN挂了,我用搜索工具替换了新的CDN

本地部署访问正常。

正当我部署到服务器的时候。

Hexo出现了报错

image-20240128170024711

然后我就照着这个错误各种搜索,参考了Hexo官方的帮助。和各种博客上面的解决办法。

其实我在开始的时候没认为是Github的问题,因为前面我已经排查了一下Github,结果可以正常访问。

然后就各种搜各种解决,删除.deploy_git,什么回滚怎么这么……

甚至我重新部署了Github端的SSH公钥,问题依旧存在

然后我看到有人说是网络问题,我从浏览器访问了Github,都很正常

然后我就看到了给git设置代理的方法,是不是git没用走代理

配置http代理

1
2
git config --global http.proxy 127.0.0.1:10809
git config --global https.proxy 127.0.0.1:10809

查看代理是否设置成功

1
2
git config --global --get http.proxy
git config --global --get https.proxy

设置完以后还是没用解决问题。

再后来我尝试直接通过git访问Github

1
ssh -T git@github.com

结果直接报错,其实已经开始气馁了

ssh: connect to host github.com port 22: Connection refused

翻译一下

ssh:连接到主机github.com端口22:连接被拒绝

但是后来按照这个解决方向继续搜索解决方法就明确了很多。

终于终于,我明白了问题所在

默认ssh默认使用的是22端口,报错就意味着22端口无法访问到Github

浏览器是能够正常访问Github,但是浏览器默认不是以22号端口访问

解决办法就变得简单了

在用户文件夹下的.ssh文件夹下新建一个文本文档

写入如下信息,意思就是SSH直接走443端口,保存为config,注意,就是这个文件名,没用后缀。

1
2
3
Host github.com
Hostname ssh.github.com
Port 443

然后继续通过git访问一下Github

1
ssh -T git@github.com

很快返回信息

1
2
3
Hi SansuidouEr! You've successfully authenticated, but GitHub does not provide shell access.
翻译一下:
嗨,SansuidouEr! 您已成功通过身份验证,但GitHub不提供shell访问。

image-20240128171238978

这时候再来一套三连

1
hexo cl && hexo g && hexo d

成功解决!