Hexo博客部署Gitalk评论踩坑

本文讲述了作者在部署Hexo博客时遇到的Gitalk评论403和429问题,通过更换反向代理、自建Cloudflare代理和调整OAuth配置,最终解决了评论登录权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hexo博客部署Gitalk评论踩坑

算了算自己瞎折腾好久,查了好久的百度都没能解决,最后在Google和Github上找到了正确的方案。只能说Github yyds~

在OAuth已搭建Gitalk

搭建步骤可自行百度,主要搭建完毕之后的后续步骤坑较大

起因:Request failed with status code 403

一直不明白这个原因是怎么造成的2211621189354_.pic

最后参考了这篇博客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

image-20210517025101581

免费版只有10w次请求,但是个人使用足以,填写二级域名后就可以创建完成。

随后:

  1. 将脚本代码删除

在这里插入图片描述

  1. 进入Zibri大佬的Github的repo中cloudflare-cors-anywhere复制index.js的内容到脚本文件中

    我看许多人的index.js都是参考他的,我是直接复制参考博主的index.js 指路博主仓库

  2. 保存并部署,复制自己的域名

    image-20210517030524711

  3. 修改_config.yml里的proxy

    将上述复制的值,作为proxy
    在这里插入图片描述

    一定要注意连接的地方,要加?,不然会出现no access token的错误

  4. 最后重新部署博客,搞定

    image-20210517030931909

Github真的yyds,上面有好多百度不到的问题解决方案,所以还是练好英文,多看看Google和Github吧~~终于解决问题了,可以睡个好觉了,现在是凌晨3:11.

出现Error: Validation Failed.

原因文章对应的 URL 过长,修改文件名长度,建议用英文,不然中文很容易太长

image-20210517033737893

Github真的yyds,上面有好多百度不到的问题解决方案,所以还是练好英文,多看看Google和Github吧~~终于解决问题了,可以睡个好觉了。
欢迎来我的博客www.zhulingang.com阅读更多内容

<think>好的,用户想了解如何将Hexo博客部署到腾讯云。我需要根据提供的引用内容来整理步骤。首先,查看用户提供的引用,其中引用[1]提到了使用GitHub Actions自动部署到腾讯云COS,开启静态网站功能。引用[2]和[3]讨论了部署到腾讯云轻量服务器或服务器,包括环境准备和手动上传的方法。引用[4]虽然关于阿里云,但自动部署的思路可能类似。 用户的问题集中在腾讯云,所以需要区分两种部署方式:COS对象存储和轻量服务器。可能用户不清楚两者的区别,需要分别说明。根据引用内容,COS适合自动化部署,而服务器可能需要手动操作或脚本。 接下来要整理步骤。对于COS,需要创建存储桶,开启静态网站,配置GitHub Actions工作流,生成密钥,添加Secrets。对于服务器,可能需要安装Web服务器,配置Git钩子自动同步,或者使用rsync手动上传。引用[2]提到使用Git钩子,引用[3]可能有手动上传的方法。 需要注意步骤清晰,分点说明。同时,用户可能关心自动化,所以强调GitHub Actions的自动构建和部署。另外,要提醒安全设置,比如COS的权限和服务器密钥的保密。最后,生成相关问题,可能涉及优化、备份、HTTPS等。需要确保覆盖用户可能的后续问题。</think>### 如何将 Hexo 博客部署到腾讯云? 部署 Hexo 博客到腾讯云主要有两种方式:**通过腾讯云 COS 对象存储**或**通过腾讯云轻量服务器**。以下是详细步骤: --- #### 一、部署到腾讯云 COS(推荐自动化) 1. **创建 COS 存储桶** - 登录腾讯云控制台,进入 [对象存储(COS)](https://console.cloud.tencent.com/cos5); - 新建存储桶,选择与博客内容匹配的地域(如“北京”),设置访问权限为**公有读私有写**[^1]。 2. **开启静态网站功能** - 在存储桶的“基础配置”中启用“静态网站”功能,设置默认首页为 `index.html`,错误页面为 `404.html`。 3. **配置 GitHub Actions 自动化** - 在 Hexo 项目根目录下创建 `.github/workflows/deploy.yml` 文件,编写自动化脚本: ```yaml name: Deploy to Tencent COS on: [push] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v2 with: node-version: '18' - run: npm install hexo-cli -g - run: npm install - run: hexo clean && hexo generate - name: Upload to COS uses: zkqiang/tencent-cos-action@v1 with: secret_id: ${{ secrets.SECRET_ID }} secret_key: ${{ secrets.SECRET_KEY }} cos_bucket: your-bucket-name-1250000000 cos_region: ap-beijing local_path: ./public remote_path: / ``` - 在 GitHub 仓库的 `Settings > Secrets` 中添加腾讯云 API 密钥 `SECRET_ID` 和 `SECRET_KEY`。 4. **触发自动部署** 每次将代码推送到 GitHub 仓库时,GitHub Actions 会自动构建 Hexo 静态文件并上传到 COS。 --- #### 二、部署到腾讯云轻量服务器(手动/半自动) 1. **服务器环境准备** - 安装 Nginx: ```bash sudo apt update && sudo apt install nginx -y ``` - 创建网站目录并设置权限: ```bash sudo mkdir -p /var/www/hexo sudo chown -R $USER:$USER /var/www/hexo ``` 2. **配置 Nginx** - 修改配置文件 `/etc/nginx/sites-available/default`: ```nginx server { listen 80; root /var/www/hexo; index index.html; server_name your_domain.com; location / { try_files $uri $uri/ =404; } } ``` - 重启 Nginx:`sudo systemctl restart nginx`[^2]。 3. **手动上传文件** - 本地生成 Hexo 静态文件: ```bash hexo clean && hexo generate ``` - 使用 `scp` 或 `rsync` 上传到服务器: ```bash scp -r ./public/* user@your_server_ip:/var/www/hexo ``` 4. **自动化脚本(可选)** 通过 Git 钩子或 CI/CD 工具(如 Jenkins)实现自动同步,参考[轻量服务器部署教程](^2)。 --- #### 注意事项 - **域名与 HTTPS**:建议绑定域名并申请 SSL 证书,提升访问安全性。 - **备份策略**:定期备份 Hexo 源码和 `public` 目录到私有仓库或 COS。 - **权限管理**:COS 存储桶需避免公开写权限,服务器 SSH 密钥需妥善保管。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值