nginx配置跨域请求

可以指定全部或者部分接口能够接收跨域请求

返回服务器时间的例子:

location /getTime {

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Methods 'GET,POST';

add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

default_type application/json;

return 200 '{\"time\":\"$time_local"}';

}

(1)time_local

用来记录访问时间与时区,实际打印的是日志产生的时间。

(2)Access-Control-Allow-Origin

服务器默认是不被允许跨域的。给Nginx服务器配置Access-Control-Allow-Origin *后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。

add_header 'Access-Control-Allow-Origin' 'http://dev.gongfuxiang.com'; #限制域名的方式

(3)Access-Control-Allow-Headers 是为了防止出现以下错误:

Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

这个错误表示当前请求Content-Type的值不被支持。其实是我们发起了"application/json"的类型请求导致的。

(4)Access-Control-Allow-Methods 是为了防止出现以下错误:

Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。