您的位置:首页 > 理论基础 > 计算机网络

Nginx配置跨域-http请求方法OPTIONS

2017-12-15 14:47 567 查看

Nginx配置跨域 http请求方法OPTIONS

看到标题有点扯,为什么跨域与http的请求方法options有关系,因为当你跨域获取资源时,浏览会出于安全的考虑会先使用OPTIONS做请求,看能否正常返回,因为使用OPTIONS返回的是206状态码,无论是否正常返回页面都不会被跳转或者刷新

配置跨域

在server,location中添加如下代码,只要是OPTIONS请求时允许后续请求及正常返回状态码

if ( $request_method = 'OPTIONS' ) {

add_header Access-Control-Allow-Origin $http_origin;

add_header Access-Control-Allow-Headers Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS,HEAD,PUT;

add_header Access-Control-Allow-Credentials true;

add_header Access-Control-Allow-Headers X-Data-Type,X-Auth-Token;

}


http OPTIONS解释

1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。支持请求方法与http协议版本及web服务器配置有关

2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

3、http返回正常状态码为206
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息