服务器返回的 503 被 Chrome 标记为 CORS 违规

Ros*_*ser 10 google-chrome cors http-status-code-503

在Chrome的控制台中可以看到以下内容(匿名域名,已添加粗体):

> somesite.ourdomain.org:44301/api/v1.0/AppCache/AdministrationStatusApi:1 GET https://devesaapi.abim.org:44301/api/v1.0/AppCache/AdministrationStatusApi 503 (Service Unavailable)
> esa:1 Access to XMLHttpRequest at 'https://somesite.ourdomain.org:44301/api/v1.0/AppCache/AdministrationStatusApi' from origin 'https://othersite.ourdomain.org:44301' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
Run Code Online (Sandbox Code Playgroud)

503 的真正原因是负载平衡节点之一未正确响应负载平衡器。然而,Chrome 认为,由于 503 响应在此跨站点请求上没有 Access-Control-Allow-Origin 标头,因此它应该抱怨 CORS。

这很糟糕,因为它误导了我们的开发人员,并浪费了一些时间来寻找实际上并不存在的 CORS 问题。

Chrome 报告此返回 503 的请求违反了 CORS,这真的是正确的做法吗?其他浏览器有什么作用?

Windows 10 上的 Google Chrome 稳定版本 72.0.3626.109(官方版本)(64 位)

编辑:至少另一位开发者博主同意我的观点。