Nginx配置跨域--POST请求与OPTIONS

问题:

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

配置跨域


在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
 

猜你喜欢

转载自blog.csdn.net/qq_40421671/article/details/130839338