【问题标题】:Firefox: CORS Missing Allow HeaderFirefox:CORS 缺少允许标头
【发布时间】:2021-11-27 09:49:13
【问题描述】:

我的 Firefox 正在向我的私人后端发出一个 OPTIONS 预检请求,以使用凭据发出后续 GET 请求。

预检请求包含标头

Origin http://localhost:9670
Access-Control-Request-Headers authorization
Access-Control-Request-Method GET

我的服务器响应

Access-Control-Allow-Credentials true
Access-Control-Allow-Origin http://localhost:9670
Vary: Origin

根据我发现应该没问题的文档。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials

反正我的firefox还在状态

CORS 缺少允许标头

在开发者控制台的“网络”选项卡的“已传输”部分中。

我的服务器响应缺少什么?

【问题讨论】:

    标签: http cors


    【解决方案1】:

    除了

    Access-Control-Allow-Credentials: true
    Access-Control-Allow-Origin: http://localhost:9670
    Vary: Origin
    

    对预检请求的响应还必须包含

    Access-Control-Allow-Methods: GET
    Access-Control-Allow-Headers: Authorization
    

    否则,访问控制检查将失败,您的浏览器将不会发送实际(预检)请求。见

    您是否在后端从头开始实施 CORS?如果是这样,为什么不使用(好的)CORS 库,您可以配置它来为您处理所有这些问题?

    【讨论】:

    • 我添加了这两个标题,现在预检通过了!谢谢。
    • 我必须检查一下 cors 库,这可能是个好主意。
    猜你喜欢
    • 2021-11-10
    • 2020-04-25
    • 1970-01-01
    • 2021-04-28
    • 2021-10-15
    • 2013-08-19
    • 1970-01-01
    • 2019-07-09
    • 2012-10-27
    相关资源
    最近更新 更多