玩命加载中 . . .

解决gitalk 403 问题


错误描述

GitHub无法登录显示错误:

Error: Request failed with status code 403

问题原因

点击 此处 查看大佬分析。

解决方案

先在配置文件_config.yml的gitalk配置项中加一个proxy:

gitalk:
   enable: true
   clientID: 
   clientSecret: 
   accessToken: 
   repo: blog-comments
   owner: Hanpeng-Chen
   admin: ['Hanpeng-Chen']
   perPage: 10
   distractionFreeMode: true
   language: zh-CN
   proxy: https://netnr-proxy.cloudno.de/https://github.com/login/oauth/access_token

然后在gitalk.ejs中加上proxy配置:

let gitalk = new Gitalk({
        clientID: '<%- theme.gitalk.oauth.clientId %>',
        clientSecret: '<%- theme.gitalk.oauth.clientSecret %>',
        repo: '<%- theme.gitalk.repo %>',
        owner: '<%- theme.gitalk.owner %>',
        admin: <%- JSON.stringify(theme.gitalk.admin) %>,
        id: '<%- date(page.date, 'YYYY-MM-DDTHH-mm-ss') %>',
        proxy: '<%= theme.gitalk.proxy %>',
        distractionFreeMode: false  // Facebook-like distraction free mode
    });

利用cloudflare worker搭建在线代理

利用CloudFlare Worker创建在线代理,不需要我们有服务器,也不需要搭建Node.js服务,只需要注册一个CloudFlare账号,创建一个Worker,部署一个JS脚本就可以了,简单方便,下面我们就来看看如何创建吧。

首先你需要一个 CloudFlare 的账号,如果还没有的话就先注册一个吧:点我注册

选择Workers,创建一个免费的Worker。

img

自定义一个二级域名,然后创建worker。因为我之前有二级域名,所以这里是修改

image-20210504234927031

进入github项目的 index.js,复制代码。

清除脚本编辑器中的示例代码,将复制的代码粘贴进去。

image-20210505110415205

这里有个点需要注意:我们可以设置请求的黑白名单,这里的白名单我只设置了自己博客域名,大家可以根据自己的情况修改,当然也可以设置为whitelist = [ ".*" ],这样的话知道你代理地址的人都可以用了,然而免费版本的每天只有10万次请求,如果用的人多了很容易就用完了,所以还是建议大家设置 whitelist。

blacklist = [ ];           // regexp for blacklisted urls
// whitelist = [ ".*" ];     // regexp for whitelisted origins
whitelist = [ "^http.?://www.chenhanpeng.com$", "chenhanpeng.com$" ]   //将这里改成你的域名

修改好之后,点击 保存并部署,如果部署正常的话,我们就可以使用我们创建的在线代理了。

从右侧获取到你的worker域名

image-20210505110830438

在上面提到的proxy配置项修改为如下代码:

proxy: https://此处为你复制的的链接/?https://github.com/login/oauth/access_token

重新部署我们的博客,至此,个人在线代理就搭建成功了,博客的评论功能就能正常使用了。

最后

参考博客:https://www.chenhanpeng.com/create-own-cors-anywhere-to-resolve-the-request-with-403/

感谢大佬分享。

此篇文章仅代表个人观点,希望对你有所帮助。


文章作者: Er-Jia
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Er-Jia !
评论
  目录