我有一个运行良好的 Node 应用程序并设置了正确的 CORS 标头。昨天,我开始收到从前端到各种后端 API 的请求的 CORS 错误。基础架构托管为 Google Cloud Run 容器。
我很困惑...
Version 90.0.4430.85 (Official Build) (x86_64)
)、Safari 和 Firefox 中出现的 CORS 错误按预期工作cors
手动替换npm 包/库并设置 CORS 标头(参见 1、2)原始cors配置:
const cors = require('cors')
const express = require('express')
// snip
const shouldCompress = (req, res) => {
if (req.headers['x-no-compression']) {
return false;
}
return compression.filter(req, res);
}
try {
// snip
const app = express()
app.use(compression({filter: shouldCompress,level:9, threshold: 0}))
app.use(cors({ exposedHeaders: ['Content-Disposition'] }))
app.options('*',cors())
// ...
app.use(function (req, res, next) {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
app.use(cors({ exposedHeaders: ['Content-Disposition'] }))
//app.use(cors({ exposedHeaders: ['Content-Disposition'] }))
app.use(cors({
origin: '*',
credentials: true,
exposedHeaders: ['Content-Disposition']
}))
app.options('*',cors())
我不敢相信你会问这么幼稚的问题,你不做网络开发兄弟吗?你有没有想过检查你的 node.js 版本?你必须升级它,让我猜你正在使用一些 12.0 节点版本。只需将其升级到 15.14.0-alpine3.10 就可以了。psh
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句