Azure App Service (Node) CORS origins 无论我添加到哪里都不起作用

Azure App Service (Node) CORS origins won't work no matter where I add them

Azure CORS 设置似乎根本不起作用,除非我指定 * 任何和所有请求都将 return

"has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status."

我已经添加了我的生产 + 开发环境前端的 CORS http + https 变体。我还在 web.config.

中添加了它们
<add name="Access-Control-Allow-Origin" value="https://LINK"/>
<add name="Access-Control-Allow-Origin" value="https://LINK/"/>

它变得极其不可预测和不可靠。该应用程序配置为允许所有来源:

app.options('/', function(req, res) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', '*');
  res.setHeader('Access-Control-Allow-Headers', '*');
  res.end();
});

所以它会发送预检数据。 Azure CORS 不发送任何飞行前数据吗?我最好只在任何地方设置 * 然后通过 API 自己管理事情吗? Azure 不会覆盖该配置吗?我是否无法管理 CORS?

是的,您绝对可以通过从 Azure 门户设置 CORS headers 或从您的应用程序添加 CORS headers 来实现它。

这是从 Azure 门户设置它的方法。

  1. 导航到 Azure 门户
  2. 导航到您创建的应用服务。
  3. 在应用中点击 CORS。
  4. 在空的 Allowed Origins 文本框中输入 URL。
  5. 点击保存。