利用Access-Control-Allow-Origin响应头解决跨域请求

说明

传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing)。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求。

在nginx的conf文件中添加如下参数配置

  • 表明它允许"所有域"发起跨域请求
    add_header Access-Control-Allow-Origin *;
  • 允许特定的域名访问
    add_header Access-Control-Allow-Origin http://imdst.com;
  • 表明它允许GET、PUT、DELETE、POST的外域请求
    add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
  • 表明它允许跨域请求包含的头
    add_header 'Access-Control-Allow-Headers' 'reqid, nid, host, x-real-ip, x-forwarded-ip, event-type, event-id, accept, content-type'; ```