Nginx Apache跨域配置,支持DELETE,PUT请求

最近在做vue.js项目,web服务器是Nginx,
要实现本地http://127.0.0.1跨域访问服务器端 https://bbc.wanxiaohong.cn
并且要支持DELETE PUT等请求。

跨域配置

只需要在Nginx配置文件里加入以下配置,即可开启跨域

*代表任何域都可以访问,可以改成只允许某个域访问,如 Access-Control-Allow-Origin: https://bbc.wanxiaohong.cn
这样的配置虽然开启了跨域请求,但只支持GET HEAD POST OPTIONS请求,使用DELETE发起跨域请求时,浏览器出于安全考虑会先发起OPTIONS请求,服务器端接收到的请求方式就变成了OPTIONS,所以引起了服务器的405 Method Not Allowed。

所以要对OPTIONS请求进行处理

详细配置:

当请求方式为OPTIONS时,设置Allow的响应头,重新处理这次请求。
配置好并重启Nginx,刷新页面重新发起请求,在控制台里你会发现,出现了二次请求,
第一次是OPTIONS请求,第二次才是DELETE请求,这就是对OPTIONS请求进行处理的结果,到这里总算完成了一次DELETE跨域请求了。

另附Apache跨域配置

  • Nginx Apache跨域配置,支持DELETE,PUT请求已关闭评论
  • 57 views
    A+
发布日期:2017年02月23日  所属分类:linux  Mac OS