我让web服务器运行在服务器上运行的节点服务器。节点服务器将响应头中的“访问控制”设置为特定网站,以仅允许该网站访问我的节点服务器提供的资源:
header["Access-Control-Allow-Origin"] = "https://www.mywebsite.com";在mywebsite.com中,当调用从节点服务器获取资源时,请求可以正常工作,因为它们来自授权的网站。我在Chrome和FireFox上进行了测试。当我尝试使用IE10做同样的事情时,资源并没有得到很好的服务。
当查看IE10的头请求和响应时,我注意到‘noticed’没有正确填充,而使用Firefox和Chrome可以正常填充。
这是Chrome头:Chrome header values
而IE 10报头是:Internet Explorer header values for same get request
在IE 10上,原点用'blob://‘填充,而在Chrome和Firefox上,原点网站域名被正确列出,允许CORS正常工作。
节点服务器所服务的资源是具有二进制流的.pbf的mbtiles。
你知道为什么IE10似乎在头请求中放入了错误的来源吗?可能是一种变通的方法或解决方案?
谢谢
发布于 2017-04-27 07:53:15
我不确定这是否会解决你的问题,但我从来没有遇到过使用这种方法的问题:
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'http://www.website.com');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Control-Allow-Credentials');
res.header('Access-Control-Allow-Credentials', 'true');
next();
});https://stackoverflow.com/questions/43645452
复制相似问题