解决Gitalk评论系统报403问题
解决Gitalk评论系统报403问题。
最近使用 gitalk 在登录 gitlab 授权时出现错误 error: request failed with status code 403
。
这是因为 gitalk 在访问 github 时为了解决跨域问题使用了一个反向代理,这个默认的反向代理近期限制了访问,所以无法使用了。
查阅了一些资料后发现不少大佬使用更换代理地址的方式来解决问题:
这次直接去嫖了一个 CORS proxy, 把 gitalk.js 的 6794 行改为 proxy: ‘https://netnr-proxy.cloudno.de/https://github.com/login/oauth/access_token‘, 就可以了。具体能用多久也不清楚,且用且珍惜。
但将自己网站的服务依赖于第三方,也不是长久之计,我们为什么不自行搭建一个反向代理来自己使用呢。
解决方案
我们可以使用 nginx 简单的配置一下,即可达到反向代理请求 github 的目的。
配置 nginx 添加以下内容到第一个 location
前面:
1 | location = /login/oauth/access_token { |
如果你使用了其他的域名(例如我的网站地址是https://www.xgg.cool
,我将反向代理配置到了另外一个网站上https://static.appgao.cate.fun
,就需要解决跨域问题),则使用下面配置。
1 | location = /login/oauth/access_token { |
我将反向代理部署到了 https://static.appgao.cate.fun
这个网站上(其他网站无法使用,因为我配置了 Access-Control-Allow-Origin
https://www.xgg.cool
),然后我需要在 gitalk 中添加以下内容:
1 | proxy: 'https://static.appgao.cate.fun/login/oauth/access_token' |
请看下面我的最终配置
最后配置好后重新部署下就行了。hexo g
然后 hexo d
推送到远端。
测试效果
现在又可以愉快的评论了,你可以访问这个页面来测试效果: https://yc6.cool/self-talking/
- 本文标题:解决Gitalk评论系统报403问题
- 本文作者:yichen
- 本文链接:https://yc6.cool/2023/02/07/解决Gitalk评论系统报403问题/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!