gpt4 book ai didi

node.js - 动态允许 CORS 域

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:33 26 4
gpt4 key购买 nike

我正在运行 Node 应用程序,其中包含 nginx 下的白名单前端域列表。允许的域在 .env 文件中定义。

app.js:

app.use(cors());

cors.js:

const cors = require('cors');

const whitelist = process.env.CORS_DOMAINS.split(',');

module.exports = (enabled = true) =>
(req, res, next) => {
const options = {
origin(origin, callback) {
if (!origin) {
callback(null, true);
return;
}
const originIsWhitelisted = enabled ? whitelist.indexOf(origin) !== -1 : true;
if (originIsWhitelisted) {
console.log('cors runs');
callback(null, originIsWhitelisted);
return;
}
callback({
statusCode: 401,
error: 'Not allowed',
});
},
};
return cors(options)(req, res, next);
};

当应用程序已在运行时,如何更新列入白名单的域?我在数据库中有域列表,但由于性能原因不想每次都查找。

最佳答案

您可以使用express dynamic middleware并在运行时使用它 数据库表上的触发器。

关于node.js - 动态允许 CORS 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59635487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com