如何在开发和生产中以不同的来源配置cors?
这是默认的cors配置文件的样子
module.exports = {
/*
|--------------------------------------------------------------------------
| Origin
|--------------------------------------------------------------------------
|
| Set a list of origins to be allowed. The value can be one of the following
|
| Boolean: true - Allow current request origin
| Boolean: false - Disallow all
| String - Comma separated list of allowed origins
| Array - An array of allowed origins
| String: * - A wildcard to allow current request origin
| Function - Receives the current origin and should return one of the above values.
|
*/
origin: false,
/*
}
答案 0 :(得分:1)
您只需检查您的NODE_ENV
Environment variable。然后检查是否设置了此变量,例如用于生产或开发。
基于CORS Documentation,您可以返回一个函数。因此,我将检查当前环境,然后返回CORS属性。在您的cors.js
中,您会遇到类似的情况
const Env = use('Env')
...
...
origin: function (currentOrigin) {
if(Env.get('NODE_ENV') === 'production' {
return currentOrigin === 'mywebsite.com'
} else {
true
}
}
如果NODE_ENV
设置为 production ,则仅允许来自“ mywebsite.com”的流量,否则所有流量(用于开发)。