为什么浏览器在响应 413 的情况下显示 CORS 错误?

kim*_*oky 5 nginx cors http-status-code-413

我正在测试将图像文件上传到服务器的 REST Api。

图片太大,超过了最大请求正文大小,所以 Nginx 拒绝它并返回响应 413(请求实体太大)。

Nginx:错误日志

*329 客户端打算发送太大的正文:1432249 字节,客户端:xx.xx.xx.xx,服务器:api.example.com,请求:“POST /images HTTP/1.1”,主机:“api.example.com ", 推荐人: " https://example.com/posts/create "

但是,我发现 firefox/chrome 控制台说,

铬:控制台

CORS 策略已阻止从源“ https://example.com ”访问“ https://api.example.com/images ”处的 XMLHttpRequest :请求的资源。

CORS 和 413 错误之间有什么联系吗?这个消息来自哪里,为什么?

Bra*_*rad 5

本例中的问题是错误响应中没有相应的内容Access-Control-Allow-Origin,因此请求应用程序没有查看它的权限。也就是说,即使是错误消息也受跨域策略的约束。