node.js中的CORS策略不会更新标头

时间:2019-09-25 15:13:58

标签: node.js cors

我有两个以角度构建的网站,一个在主域中,另一个在子域中。这两个应用程序都与node.js应用程序进行交互。 node.js应用程序正在使用cors包,允许来自两个URL的请求,问题是我是否在子域中,并且从主域应用程序访问了某些路由,但我得到了cors被阻止的错误,但是我接收的源是子域之一(显然)。反之亦然。

示例: 我访问example.com/xyz,它可以正常工作,然后我转到子域asd.example.com并收到cors错误,因为它接收的来源是example.com。 然后,如果我清理缓存,则可以访问asd.example.com,但是在example.com上的某些路由上出现错误,在这种情况下,源是asd.example.com。

我在主应用程序上拥有的一条路由的名称与子域的名称相同,是否有可能是此问题引起的?

[已编辑]

这是我的node.js cors代码。 allowedOrigins变量是一个包含所有允许的URL的数组,例如var allowedOrigins = ['https://example.pt', 'https://www.example.pt', 'https://asd.example.pt'];

app.use(cors({
    credentials: true,
    origin: function(origin, callback){
    if(allowedOrigins.indexOf(origin) === -1){
      var msg = 'Blocked by CORS';
      console.log(msg);
      return callback(new Error(msg), false);
    }
    return callback(null, true);
  }
}));

关于我的第一个问题,我已经尝试将子域名更改为不同于主应用程序中任何路由的名称。

0 个答案:

没有答案