微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx-配置允许跨域

Nginx 配置允许跨域,网上找了很多方法,普遍说加3个add_header就能实现跨域的,不知道是不是系统环境不一样,反正我是没成功。

最终还是用下面的方法成功,特此记录下:

server {
    listen       88;
    server_name  http://localhost;

     #proxy_set_header Host $host;
     #proxy_set_header X-Real-Ip $remote_addr;
     #proxy_set_header X-Forwarded-For $remote_addr;

    #   指定允许跨域的方法,*代表所有
    add_header Access-Control-Allow-Methods *;

    #   预检命令的缓存,如果不缓存每次会发送两次请求
    add_header Access-Control-Max-Age 3600;
    #   不带cookie请求,并设置为false
    add_header Access-Control-Allow-Credentials false;

    #   表示允许这个域跨域调用(客户端发送请求的域名和端口) 
    #   $http_origin动态获取请求客户端请求的域   不用*的原因是带cookie的请求不支持*号
    add_header Access-Control-Allow-Origin $http_origin;

    #   表示请求头的字段 动态获取
    add_header Access-Control-Allow-Headers 
    $http_access_control_request_headers;

    #   OPTIONS预检命令,预检命令通过时才发送请求
    #   检查请求的类型是不是预检命令
    if ($request_method = OPTIONS){
        return 200;
    }

    location / {
        #这里省略很多字
    }

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐