Hexo博客部署Gitalk评论踩坑
算了算自己瞎折腾好久,查了好久的百度都没能解决,最后在Google和Github上找到了正确的方案。只能说Github yyds~
在OAuth已搭建Gitalk
搭建步骤可自行百度,主要搭建完毕之后的后续步骤坑较大
起因:Request failed with status code 403
一直不明白这个原因是怎么造成的
最后参考了这篇博客Gitalk 评论登录 403 问题解决
原因是:主题模版中的cors-anywhere反向代理已不支持直接使用,Gitalk的默认proxy为
Default: https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token.
所以在代理访问Github时会直接forbidden。参考博客中,对403出现的原因做了详细说明
解决403
博主的做法是:更换反向代理,直接白嫖别人代理。我也参照了博主的做法
我的博客主题是matery,所以在/thems/matery/_config.yml里添加自己定义的proxy
gitalk:
enable:
owner:
repo:
oauth:
clientId:
clientSecret:
admin:
proxy: https://netnr-proxy.cloudno.de/https://github.com/login/oauth/access_token
出先新问题429
但是会出现新的问题,Code:429
429的含义是收到了太多的请求,一开始还没意识到白嫖代理的问题,一直在想429就该怎么解决。知道后来才恍然大悟,我会白嫖,许多人也会白嫖,这个代理很多人都会使用,但是使用次数有限制,就会造成过多的人使用请求。
最后在Github的Gitalk后出现403错误讨论上搜到了比较简单的解决方案,自己部署反向代理。
自己部署反向代理
十分感谢Github上的问题讨论,为我提供了比较便捷的解决方案。虽然许多朋友都是白嫖别人代码的哈哈哈,我也想白嫖,但是我都耗在这个问题这么久了,不彻底解决不甘心啊。
于是参考了另一篇博客在cloudflare上创建一个免费的在线代理来解决gitalk授权登录报403问题
首先创建自己的一个ClOUDFLARE账号 点击CLOUDFLARE注册
选择Workers,创建免费的Workers
免费版只有10w次请求,但是个人使用足以,填写二级域名后就可以创建完成。
随后:
将脚本代码删除
进入Zibri大佬的Github的repo中cloudflare-cors-anywhere复制index.js的内容到脚本文件中
我看许多人的index.js都是参考他的,我是直接复制参考博主的index.js 指路博主仓库
保存并部署,复制自己的域名
修改_config.yml里的proxy
将上述复制的值,作为proxy
一定要注意连接的地方,要加?,不然会出现no access token的错误
最后重新部署博客,搞定
出现Error: Validation Failed.
原因文章对应的 URL 过长,修改文件名长度,建议用英文,不然中文很容易太长
Github真的yyds,上面有好多百度不到的问题解决方案,所以还是练好英文,多看看Google和Github吧~~终于解决问题了,可以睡个好觉了,现在是凌晨3:38.