Nginx CORS-Chrome取消简单GET请求

Nginx CORS-Chrome取消简单GET请求,nginx,cors,Nginx,Cors,我正在尝试设置CORS以在节点中使用套接字IO。不幸的是,Chrome不断取消该请求: GET https://example.com/zebra/8601/socket.io/1/?key=example123&t=1377831596484 HTTP/1.1 Origin: https://example.io Referer: https://example.io/example User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X

我正在尝试设置CORS以在节点中使用套接字IO。不幸的是,Chrome不断取消该请求:

GET https://example.com/zebra/8601/socket.io/1/?key=example123&t=1377831596484 HTTP/1.1
Origin: https://example.io
Referer: https://example.io/example
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
如果我在新选项卡中打开URL,我会得到更好的响应:

HTTP/1.1 200 OK
Server: nginx/1.4.1
Date: Fri, 30 Aug 2013 03:00:12 GMT
Content-Type: text/plain; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, PUT, POST, OPTIONS
Access-Control-Allow-Headers: Authorization,Content-Type,Accept,Origin,Referer,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since
虽然这是一个实际的跨源请求,但它只是失败了

Nginx配置如下:

location ~ ^/zebra/(\d+)(?:/(.*))?$ {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Methods "GET, PUT, POST, OPTIONS";
    add_header Access-Control-Allow-Headers "Authorization,Content-Type,Accept,Origin,Referer,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since";
}

我如何配置使其与CORS一起工作?

因此,解决方案是确保在节点JS端正确配置此套接字IO设置:

io.configure(function() {
  io.set('origins', '*:*');
});
。。然后在Nginx端不要用CORS做任何古怪的事情


从Nginx配置中删除所有出现的
add\u header Access Control Allow
操作已经完成。

因此,解决方案是确保在节点JS端正确配置此套接字IO设置:

io.configure(function() {
  io.set('origins', '*:*');
});
。。然后在Nginx端不要用CORS做任何古怪的事情


从Nginx配置中删除所有的
add\u header Access Control Allow
事件已经成功了。

您使用的是自签名证书吗?你看到了吗:?嗨@RayNicholus-不使用自签名证书或类似的东西。@RayNicholus:如果你进行了向下投票,请告诉我如何更正问题并修复向下投票。你使用的是自签名证书吗?你看到了吗:?嗨@RayNicholus-没有使用自签名证书或类似的东西。@RayNicholus:如果你做了向下投票,请告诉我我能做些什么来纠正问题并修正向下投票。