You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Axios请求Node.js接口使用cors-anywhere返回403 Forbidden如何解决

问题原因

你遇到的403报错是因为使用的公开CORS代理服务本身有访问限制,禁止代理localhost这类本地服务地址,同时该公开实例有请求频次限制,所以才返回403。
你最初的跨域报错完全不需要借助第三方代理解决,你的后端已经安装了cors包,只是中间件配置顺序错误导致跨域配置不生效。

解决方案

1. 修正后端CORS中间件顺序

Express的中间件是按顺序执行的,你当前先挂载了路由,再配置CORS,会导致所有路由接口的请求都不会经过CORS中间件处理,自然会报跨域错误。
将index.js代码调整为如下:

const express = require('express');
const bodyparser = require('body-parser');
const routesHandler = require('./routes/handler.js')
const cors = require('cors')
const app = express();
app.use(bodyparser.urlencoded({extended:false}))
app.use(bodyparser.json())
// 把cors配置移到路由挂载之前
app.use(cors())
app.use('/', routesHandler);

const PORT = 4000;
app.listen(PORT, () =>{
    console.log('Server is running on port ' + PORT + '.')
});

2. 前端移除代理前缀,直接请求本地接口

把Insert组件中的url修改为直接请求本地后端地址即可:

// 删掉cors代理前缀,直接请求本地接口
const url = "http://localhost:4000/insert"
验证操作

修改完成后重启Node.js后端服务,再提交前端表单,即可正常请求接口存入数据,不会再出现跨域报错和403问题。

内容的提问来源于stack exchange,提问作者user14677223

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 04:51:04