V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cnoder
V2EX  ›  程序员

nginx 加了允许跨域为什么还是会偶尔出现跨域的情况

  •  
  •   cnoder · 2019-05-23 15:49:57 +08:00 · 4114 次点击
    这是一个创建于 2011 天前的主题,其中的信息可能已经有所发展或是发生改变。

    server {
        add_header Access-Control-Allow-Origin *;
    ...
    我就是这样加的

    偶尔会这样
    Access to XMLHttpRequest at '...' from origin '...' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

    第 1 条附言  ·  2019-05-24 09:46:08 +08:00
    把这些都加上了还是会偶尔显示跨域
    add_header Access-Control-Allow-Origin *;<br/>
    add_header 'Access-Control-Allow-Credentials' 'true';<br/>
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';<br/>
    add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
    8 条回复    2019-05-24 09:55:57 +08:00
    yoshiyuki
        1
    yoshiyuki  
       2019-05-23 16:59:28 +08:00
    CORS 分简单和复杂两种情况
    要么加了额外 header,要么带了 cookie,要么使用了 GET/POST 以外的 method,请自查
    si
        2
    si  
       2019-05-23 17:13:40 +08:00
    复杂请求还要做其他处理,详细情况你可以看看这个文章。
    http://www.ruanyifeng.com/blog/2016/04/cors.html
    Danfi
        3
    Danfi  
       2019-05-23 17:14:09 +08:00   ❤️ 1
    可能你的服务返回了 4**,5**等状态码
    Sparetire
        4
    Sparetire  
       2019-05-23 21:21:23 +08:00 via Android
    CORS 是很多个头部配合使用的。。复杂情况这一个头部不够的
    Takamine
        5
    Takamine  
       2019-05-23 22:56:58 +08:00 via Android
    这样不会不安全吗。_(:з」∠)_
    ericgui
        6
    ericgui  
       2019-05-24 00:58:18 +08:00
    大概率是 Chrome 的锅
    因为 chrome 会在某些时候给个 CORS error,实际上这是出于安全考虑,不给你发送实际的 error message

    你应该用 postman 来查看真实的 error message
    cnoder
        7
    cnoder  
    OP
       2019-05-24 09:47:51 +08:00
    @Sparetire
    @yoshiyuki
    已经加上附言内的 header 了
    yoshiyuki
        8
    yoshiyuki  
       2019-05-24 09:55:57 +08:00
    @cnoder 参考 6#,试试其他浏览器能否复现,判断锅的位置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:58 · PVG 22:58 · LAX 06:58 · JFK 09:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.