【问题标题】:how to configure cors on nginx?如何在 nginx 上配置 cors?
【发布时间】:2021-10-28 08:55:01
【问题描述】:

我已经按照说明在 nginx 上配置了 cors,但是并没有解决问题。

#Disable IFRAME
add_header Access-Control-Allow-Origin: *;
add_header Access-Control-Allow-Methods: "GET, HEAD, POST, PUT, PATCH, DELETE";
add_header Access-Control-Expose-Headers: *;


add_header X-Frame-Options SAMEORIGIN;

#Prevent Cross-site scripting (XSS) attacks
add_header X-XSS-Protection "1; mode=block";

#Prevent MIME-sniffing
add_header X-Content-Type-Options nosniff;

结果还没有确定:

请帮帮我!

【问题讨论】:

    标签: nginx cors cross-browser cross-domain nginx-config


    【解决方案1】:

    我可以建议一些小事来解决您当前的问题:

    1. 标题“Access-Control-Allow-Origin”有多个条目。请删除所有额外内容。
    2. 标题“Access-Control-Allow-Methods”的条目缺少冒号 (:) 和尾随逗号 (,) 字符。请修复它。
    3. 确保 nginx 服务器重新启动或停止/启动。

    【讨论】:

    • 谢谢你,我已经按照你的建议改正了,但还是没有解决问题:(
    • 我快速参考了一些关于如何在 nginx 中启用 CORS 的站点,并注意到在 ngnix 配置文件中设置它们时没有冒号分隔符 (:)。冒号 (:) 仅在他们试图证明设置已成功应用于请求标头部分时出现。
    • 您好 Hamid Se,感谢您的回答我修改了代码如下:jsfiddle.net/b68oza9u 但它仍然无法工作
    • 请查看并相应调整。 enable-cors.org/server_nginx.html
    • 根据上面给定的屏幕截图,我假设您正在运行具有 2 个虚拟主机的单个 nginx 实例作为网络服务器(而不是代理); 1 用于端口 80 的 api 和 1 用于端口 9013 的客户端。我希望你已经在正确的服务器配置中设置了 cors 标头,它位于 api。
    猜你喜欢
    • 2021-03-24
    • 2019-03-26
    • 2020-12-09
    • 2021-03-28
    • 2014-08-24
    • 2018-05-01
    • 2018-12-16
    • 2013-07-24
    • 2020-08-06
    相关资源
    最近更新 更多