NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

  • 其他文档

    • 解决 bash_wget 未找到命令的解决办法
    • CentOS7 常见问题应对,如何升级make和gcc版本
    • CodeMirror代码编辑器实现自定义提示功能增强版(支持搜索、调用接口查询提示内容)
    • CSS 滚动条样式
    • d3 svg 基本图形绘制
    • d3.js中update,enter,exit的概念
    • dat.gui 基本使用方法
    • echarts 使用案例(demo)
    • jsplumb 中文基础教程
    • Linux服务器(centos7)使用LibreOffice将Word转换PDF文档出现中文乱码或方格解决方法
    • npm install 报错 npm ERR code UNABLE_TO_VERIFY_LEAF_SIGNATURE npm ERR errno UNABLE_TO_VERIFY_LEA 解决
    • Npm 清除缓存
    • Npm设置淘宝镜像
    • NPS内网穿透安装方法
    • ThreeJs 基础入门
    • unable to verify the first certificate 原因及解决方法
    • vue 安装node-sass报错解决方案(缺少python2.7支持)
    • windows下安装 stable-diffusion-webui 步骤
    • yarn的安装与使用
    • 关于微信支付 WeixinJSBridge.invoke 、 wx.chooseWXPay使用方法
    • 内网穿透的几款工具汇总
    • 前端使用 swd-deploy 自动化部署项目到服务器
    • 常用工具集(utils.js)
    • 开源项目大杂烩
    • 微信小程序-APP生命周期与运行机制总结
    • 微信小程序踩坑之布局适配单位(rpx、px、vw、vh)
    • 服务器常用的状态码
    • 解决google浏览器翻译无法使用的问题
    • 解决使用 Gitalk 登录授权报错的问题
      • 问题描述
      • 解决方案
        • Nginx代理
        • Node代理
      • 示例配置
    • 解决在使用 stable-diffusion-webui 时,安装 gfpgan 失败的方案(windows下的操作)
    • 通过 js 进行 shapefile 文件解析渲染方法
    • 部署脚本 deploy.sh
    • Tauri打包慢或者报错问题解决方法
    • Ubuntu和Nginx搭配Certbot配置SSL证书https访问网站
    • Centos下yum无法正常使用
    • Linux 系统下通过 Let‘s Encrypt 生成免费 https 证书的步骤
    • Mongo 风格的查询对象映射到 SQL 查询的 Node.js 库 json-sql
    • CentOS7安装与卸载anaconda3基础步骤
  • 前端开发
  • 其他文档
NoteZ
2022-01-01
目录

解决使用 Gitalk 登录授权报错的问题

# 问题描述

Gitalk登录GitHub账号时,https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token接口出现Error:Network Error, 这是因为 gitalk 在访问 github 时为了解决跨域问题使用了一个反向代理,这个默认的反向代理近期限制了访问,所以无法使用了。

# 解决方案

# Nginx代理

配置 nginx 添加以下内容到第一个 location 前面:

   location = /login/oauth/access_token {
       proxy_pass https://github.com;
   }
1
2
3

例如我的网站地址是:http://zhenglinglu.cn,则使用下面配置:

   location = /login/oauth/access_token {
       add_header Access-Control-Allow-Origin 'http://zhenglinglu.cn';
       add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
       add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
       if ($request_method = 'OPTIONS') {
             return 204;
       }
       proxy_pass https://github.com;
   }
1
2
3
4
5
6
7
8
9

我将反向代理部署到了 http://zhenglinglu.cn 这个网站上(其他网站无法使用,因为我配置了 Access-Control-Allow-Origin http://zhenglinglu.cn),然后我需要在 gitalk 中添加以下内容:

proxy: 'http://zhenglinglu.cn/login/oauth/access_token'
1

# Node代理

const express = require('express');
const app = express();
const { createProxyMiddleware } = require('http-proxy-middleware');
app.use('/login/oauth/access_token', createProxyMiddleware({
    target: 'https://github.com', //转发到的地址
    changeOrigin: true, // needed for virtual hosted sites
    //ws: true, // 代理websocket
    // pathRewrite: {
    //     '^/': '/', // rewrite path
    // }
})) 
1
2
3
4
5
6
7
8
9
10
11

# 示例配置

plugins: [
  [
    'vuepress-plugin-comment', // 评论
      {
        choosen: 'gitalk',
        options: {
          clientID: 'xxxxxxxxx',
          clientSecret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
          repo: 'zlluGitHub.github.io', // GitHub 仓库
          owner: 'zlluGitHub', // GitHub仓库所有者
          admin: ['zlluGitHub'], // 对仓库有写权限的人
          // distractionFreeMode: false,
          pagerDirection: 'last', // 'first'正序 | 'last'倒序
          id: '<%- (frontmatter.permalink || frontmatter.to.path).slice(-16) %>', //  页面的唯一标识,长度不能超过50
          // id: '<%- frontmatter.permalink || frontmatter.to.path %>', //  页面的唯一标识,长度不能超过50
          // path: '<%- frontmatter.permalink || frontmatter.to.path %>',
          title: '「评论」<%- frontmatter.title %>', // GitHub issue 的标题
          labels: ['Gitalk', 'Comment'], // GitHub issue 的标签
          // proxy:'https://netnr-proxy.cloudno.de/https://github.com/login/oauth/access_token',
          proxy:'http://zhenglinglu.cn/login/oauth/access_token',
          body:
            '页面:<%- window.location.origin + (frontmatter.to.path || window.location.pathname) %>', // GitHub issue 的内容
        }
      }
    ]
  ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#Gitalk
上次更新: 2024/01/30, 00:35:17
解决google浏览器翻译无法使用的问题
解决在使用 stable-diffusion-webui 时,安装 gfpgan 失败的方案(windows下的操作)

← 解决google浏览器翻译无法使用的问题 解决在使用 stable-diffusion-webui 时,安装 gfpgan 失败的方案(windows下的操作)→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式