nginx解决跨域

server {
     listen       80;
     server_name  xxx.joshua317.com;
     #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 / {
        #这里省略很多字
     }
}

 

posted @ 2024-03-08 15:08  joshua317  阅读(33)  评论(0编辑  收藏  举报