location /Cloud {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
alias /Cloud;
if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png|mp4|mp3|js|css|xml|json|log|jepg)$){
add_header Content-Disposition attachment; #只下载不浏览
#add_header Content-Type text/plain; #只浏览不下载
}
autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
autoindex_localtime on; # 显示的文件时间为文件的服务器时间
charset utf-8,gbk; # 避免中文乱码
}
如图,我想解决一个nginx访问图片的跨域问题,所以在if之外加了add_header Access-Control-Allow-Origin *; 想让所有访问的请求都可以加上这个请求头,但没有生效,返回的响应头没有这个标头。只有我将这个加到 if之内它才生效了,很是不理解,求大佬解惑!!!!
location /Cloud {
alias /Cloud;
if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png|mp4|mp3|js|css|xml|json|log|jepg)$){
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
add_header Content-Disposition attachment; #只下载不浏览
#add_header Content-Type text/plain; #只浏览不下载
}
autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
autoindex_localtime on; # 显示的文件时间为文件的服务器时间
charset utf-8,gbk; # 避免中文乱码
}