admin管理员组

文章数量:814948

Nginx和NodeJS Express的CORS问题

我有直到今天早上才存在的CORS问题。这可能是在我在Ubuntu服务器上更新了Nginx之后发生的。我一直在我的快速服务器中包含以下代码:

    this.express.use(function(req, res, next) {
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
      res.header(
        "Access-Control-Allow-Headers",
        "Origin, X-Requested-With, Content-Type, Accept, Authorization"
      );
      next();
    });
  }

而且效果很好。现在突然收到请求前错误,如您在此处看到的

我的nginx配置如下:

      location / {
                proxy_pass http://localhost:5030;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
}

而且它始终有效。我不知道是什么突然改变导致了这些错误的出现。奇怪的是,有时它可以工作并获取数据,有时完全随机,它抱怨cors而无法获取。

例如,我试图获取的第一时间,但由于CORS而失败:

然后我又一次尝试实际工作,相同的资源:

回答如下:

我在您的响应上看到Access-Control-Allow-Origin:*,当它们起作用时,但是您的socket.io事件返回无效的HTTP响应的时间超过了我的一半。

我怀疑您看到的“ CORS错误”在HTTP错误页面上,而不是您认为您正在使用的资源上。直接点击“失败” URL,您将明白我的意思....我主要遇到500个错误,并且::>

安全连接失败

连接到api.treedis时发生错误。 PR_END_OF_FILE_ERROR

无法显示您要查看的页面,因为无法验证所接收数据的真实性。请与网站所有者联系,以告知他们该问题。

本文标签: Nginx和NodeJS Express的CORS问题