1

我有运行在服务器上的节点服务器的 Web 服务器。节点服务器在响应标头“访问控制”中将特定网站设置为仅允许该网站访问我的节点服务器提供的资源:

header["Access-Control-Allow-Origin"] = "https://www.mywebsite.com";

在 mywebsite.com 中,当调用从节点服务器获取资源时,请求工作正常,因为它们来自授权的网站。我在 Chrome 和 FireFox 上对此进行了测试。当我使用 IE10 尝试相同的操作时,资源无法正常提供。

在查看 IE 10 的标头请求和响应时,我注意到使用 Firefox 和 Chrome 填充的“原点”未正确填充。

这是 Chrome 标头: Chrome 标头值

虽然 IE 10 标头是: Internet Explorer header values for same get request

在 IE 10 上,源由“blob://”填充而在 Chrome 和 Firefox 上,源网站域正确列出,从而允许 CORS 正常工作。

节点服务器提供的资源是带有 .pbf 的 mbtile,它们是二进制流。

知道为什么 IE10 似乎在标头请求中放置了不正确的来源吗?并且可能是解决方法或解决方案?

谢谢

4

1 回答 1

0

我不确定这是否能解决您的问题,但我从未遇到过使用此方法的问题:

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();
});
于 2017-04-26T23:53:14.807 回答