繁体   English   中英

正在设置多个 Access-Control-Allow-Origin 标头

[英]Multiple Access-Control-Allow-Origin headers being set

在我的 Node/Express 应用程序中,我专门删除了任何现有的 Allow-Origin header,并将其设置为特定域。 它在本地工作,但在服务器上,它一直说响应 header 包含多个值。 这是我在整个代码库中唯一设置这些标头的地方。 关于其他地方可以设置这个的任何想法?

'Access-Control-Allow-Origin' header 包含多个值 'https://*.mycompany, *',但只允许一个。

app.use(function(req, res, next){
    res.removeHeader('Access-Control-Allow-Origin');
    res.header('Access-Control-Allow-Origin', 'https://*.mycompany.com'); 
    res.header('Access-Control-Allow-Headers', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
    if(req.method==='OPTIONS'){
        res.sendStatus(200);
    }
    next()
});

看看这是否为您解释: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMultipleAllowOriginNotAllowed 问题是浏览器只接受 Access-Control-Allow-Origin header 中的一个域,并且您有一个通配符。 解决方案是读取 Origin header 并将其回显到响应中的 Access-Control-Allow-Origin header 如果它是您想要允许的 Origin。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM