使用koajs做一个代理跨域服务,可以代理任意网站和接口
使用koajs做一个代理跨域服务。
const Koa = require('koa'); const proxy = require('koa-proxy'); const Router = require('koa-router'); const session = require('koa-session'); const app = new Koa(); const router = new Router(); app.keys = ['secret']; // 用于加密会话 ID 的密钥 app.use(session(app)); /** * 代理网站 */ router.all('/aa/:path(.*)', async (ctx, next) => { //后台自己添加请求头 // ctx.request.headers.cookie = 'csrftoken=uC2GbKsmAX7aqQuLtrKN5htiYZ4P3z0eKx6KMYQlGJxqeOJelnWp9ORqHOyYXKPR; sessionid=5a50kpokgthu53c9g9bqqa3dxypi8qz9'; // ctx.request.headers.Authorization = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMjE0ZmRlMzMtYjlmNC00OGNkLTljODQtN2U2M2Y1M2IxZGM1IiwidXNlcm5hbWUiOiJhZG1pbiIsImV4cCI6ODgwNzkxNDI2NTAsImVtYWlsIjoiYWRtaW5AMTYzLmNvbSJ9.iERNw8S5g-YDGk_s0Y9taNozLiqSlrg2Cklsah3l6bs'; await proxy({ host: 'http://111.222.333.444', jar: true, map: function (path) { return path.replace('/aa', ''); }, })(ctx, next) }); app.use(router.routes()); app.listen(3000); console.log('Server running at http://localhost:3000/'); /* 使用方式: 原链接: http://111.222.333.444/api/v1/user/ 现请求方式: fetch("http://localhost:3000/aa/api/v1/user/", { "headers": { "accept": "application/json", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "authorization": "JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMjE0ZmRlMzMtYjlmNC00OGNkLTljODQtN2U2M2Y1M2IxZGM1IiwidXNlcm5hbWUiOiJhZG1pbiIsImV4cCI6ODgwNzkxNDI2NTAsImVtYWlsIjoiYWRtaW5AMTYzLmNvbSJ9.iERNw8S5g-YDGk_s0Y9taNozLiqSlrg2Cklsah3l6bs", "cache-control": "no-cache", "pragma": "no-cache" }, "referrerPolicy": "strict-origin-when-cross-origin", "body": null, "method": "GET", "mode": "cors", "credentials": "include" }); */
使用方式看注释
博客园作者:herry菌朋友,看到这里,关注作者的公众号吧,不漏掉更新哦
![]()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
2018-03-19 七牛云存储,资源云存储平台