网上都是清一色下面代码,实际并不能解决VUE自定义请求头的问题

location / {  
    add_header Access-Control-Allow-Origin *;    
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';    
    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';    
    if ($request_method = 'OPTIONS') {
            return 204;
    }
}


使用下面的代码自动获取响应头丢回去即可完美解决

location / {
    proxy_pass http://localhost:3000;
 
    #   指定允许跨域的方法,*代表所有
    add_header Access-Control-Allow-Methods *;
 
    #   预检命令的缓存,如果不缓存每次会发送两次请求
    add_header Access-Control-Max-Age 3600;
    #   带cookie请求需要加上这个字段,并设置为true
    add_header Access-Control-Allow-Credentials true;
 
    #   表示允许这个域跨域调用(客户端发送请求的域名和端口) 
    #   $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 204;
    }
}