错误:Express应用程序内部的CORS问题不允许



我向我们的任何CRUD路由发出请求,但我收到了这个错误。我对服务器端代码的熟悉程度不足以为这个问题提供更好的细节。顺便说一句,我正在Docker内部运行这一切。

const clientHost = `http://${process.env.CLIENT_HOST}`;
const whitelist = [clientHost];
const corsOptions = {
origin(origin, callback) {
if (whitelist.indexOf(origin) !== -1) {
callback(null, true);
} else {
console.log(origin);
callback(new Error("Not allowed by CORS"));
}
}
};
app.use(cors(corsOptions));

接收错误:

Error: Not allowed by CORS
at origin (/backend/server.js:24:16)
at /backend/node_modules/cors/lib/index.js:219:13
at optionsCallback (/backend/node_modules/cors/lib/index.js:199:9)
at corsMiddleware (/backend/node_modules/cors/lib/index.js:204:7)
at Layer.handle [as handle_request] (/backend/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/backend/node_modules/express/lib/router/index.js:317:13)
at /backend/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/backend/node_modules/express/lib/router/index.js:335:12)
at next (/backend/node_modules/express/lib/router/index.js:275:10)
at expressInit (/backend/node_modules/express/lib/middleware/init.js:40:5)

export CLIENT_HOST=在您的控制台之前打印到终端的任何控制台.log(原点(错误:CORS错误不允许(没有http://(

完全停止节点进程,并在.中导出CLIENT_HOST变量的同一终端窗口中重新启动它

您正试图只允许特定的IP访问您的系统,白名单中的IP来自process.env.CLIENT_HOST,您需要从源添加IP地址,并将其添加到process.env.CLIENT_HOST.

最新更新