Cra*_*hax 4 node.js cors express
我想允许我的服务器让两个不同的域读取数据而不会出现CORS问题.
因此,我编写了以下代码行(在node.js中):
app.use(function(req, res, next){
res.header("Access-Control-Allow-Origin", ["http://ServerA:3000", "http://ServerB:3000"]);
res.header("Access-Control-Allow-Headers", "*");
next();
});
Run Code Online (Sandbox Code Playgroud)
但是,当我通过浏览器发送请求时,我得到了错误:
'Access-Control-Allow-Origin'标头包含多个值' http:// ServerA:3000,http:// ServerB:3000 ',但只允许一个.因此不允许来源' http:// ServerB:3000 '访问.
我的问题是如何为多个来源定义'Access-Control-Allow-Origin.我不想使用'*',因为它太自由了.
您需要使用配置中的来源检查当前的来源:
let allowedOrigins = ["http://ServerA:3000", "http://ServerB:3000"]
let origin = req.headers.origin;
if (allowedOrigins.includes(origin)) {
res.header("Access-Control-Allow-Origin", origin); // restrict it to the required domain
}
Run Code Online (Sandbox Code Playgroud)
标题只需要一个原点值或通配符,这就是为什么它不适合你
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |