Firefox 忽略 CORS 方法

Posted

技术标签:

【中文标题】Firefox 忽略 CORS 方法【英文标题】:Firefox ignoring CORS method 【发布时间】:2016-12-01 08:16:42 【问题描述】:

我正在实现一个支持 CORS 的 Web 服务。一切正常,除非我发出 DELETE 请求。 Firefox 发送以下预检:

OPTIONS /node-configuration?sessionId=cee013ce-53e6-11e6-8929-7efd7b6db237&address=127.0.0.1&port=8043 HTTP/1.1
Host: 127.0.0.1:8032
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: DELETE
Origin: XXX
Connection: keep-alive

服务器响应:

HTTP/1.1 200 OK
Content-Length: 0
Strict-Transport-Security: max-age=31536000; includeSubDomains
Access-Control-Allow-Origin: XXX
Access-Control-Allow-Method: POST, GET, DELETE, OPTIONS

如您所见,DELETE 位于 Access-Control-Allow-Method 标头中。但是当我发送请求时:

DELETE /node-configuration?sessionId=cee013ce-53e6-11e6-8929-7efd7b6db237&address=127.0.0.1&port=8043
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Host: 127.0.0.1:8032
Origin: XXX
Referer: XXX
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0

Firefox 阻止它:在 CORS“Access-Control-Allow-Methods”中找不到方法

我错过了什么吗?

【问题讨论】:

【参考方案1】:

标头名为Access-Control-Allow-Methods,您错过了响应标头末尾的s

【讨论】:

你说得对。我讨厌这些错别字:)

以上是关于Firefox 忽略 CORS 方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Firefox 上启用 CORS

如何在 Mozilla Firefox 中禁用 CORS?

Firefox 扩展请求被解释为 CORS

表格元素忽略Firefox 4中的字体粗细?

CORS 适用于 chrome 但不适用于 firefox、angularjs

CORS 在 Firefox 中不起作用