Vercel部署Node.js+MongoDB后端的CORS与HTTP请求异常问题
Vercel部署Node.js前后端项目的CORS与HTTP请求间歇性失败问题
项目背景
项目包含Node.js后端(部署地址:node-backend.vercel.app)和前端(部署地址:frontend-part.vercel.app),已在后端server.js中配置CORS规则与路由,前后端均添加vercel.json配置文件。
后端配置代码
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors({ origin: "https://frontend-part.vercel.app", methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"], credentials: true, optionsSuccessStatus: 200 })); // 全局设置CORS响应头的中间件 app.use((req, res, next) => { res.header("Access-Control-Allow-Origin", "https://frontend-part.vercel.app"); res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization"); res.header("Access-Control-Allow-Credentials", "true"); next(); }); app.post('/stocks/addProduct', (req, res) => { // 处理请求逻辑 });
前端请求代码
const response = await axiosInstance.post("https://backend-part.vercel.app/stocks/addProduct", productData);
当前问题
- 请求间歇性异常:部分GET、POST请求偶尔能正常响应,其余请求会随机失败
- 微小改动触发全量异常:有时仅修改少量代码后,所有请求均无法正常运行
- POST请求
/stocks/addProduct异常高发
错误信息
截图显示三类错误:
- CORS策略拦截:提示缺少
Access-Control-Allow-Origin响应头,阻止跨源请求 - 服务器内部错误:请求返回500状态码
- 请求被终止:请求过程中意外中断
内容的提问来源于stack exchange,提问作者ShashidharM
相关产品推荐
相关产品推荐

