在 express js 中允许多个 CORS 域

2022-01-15 00:00:00 cors node.js express javascript

如何以简化的方式允许 CORS 使用多个域.

How do I allow multiple domains for CORS in express in a simplified way.

我有

 cors: {
        origin: "www.one.com";
    }

    app.all('*', function(req, res, next) {
            res.header("Access-Control-Allow-Origin", cors.origin);
            res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            next();
        });

这在 origin

但是,如果我想将 origin 作为域数组,并且我想允许原始数组中的所有域使用 CORS,我就会有这样的东西 -

But if I want to have origin as an array of domains and I want to allow CORS for all the domains in the origin array, I would have something like this -

cors: {
            origin: ["www.one.com","www.two.com","www.three.com"];
        }

但问题是下面的代码不起作用 -

But then the problem is this below code would not work -

app.all('*', function(req, res, next) {
                res.header("Access-Control-Allow-Origin", cors.origin);
                res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
                next();
            });

如何让 res.header 通过 cors.origin 获取一个域数组?

How do I make res.header take an array of domains via cors.origin ?

推荐答案

我会推荐 cors-module: https://www.npmjs.org/package/cors它为您做这种事情 - 检查配置 CORS w/动态原点"-Section

I would recommend the cors-module: https://www.npmjs.org/package/cors It does this kind of stuff for you - check the "Configuring CORS w/ Dynamic Origin"-Section

相关文章