nginx静态服务器下载zip提示404

1.nginx搭建了一个静态文件服务器,用来放置webpack打包的文件。但是静态目录static下的zip每次下载都提示404,其他类型的像.json .md文件都可以正常下载的。

2.nginx静态服务器主要配置如下

server {
        listen 80;
        server_name  xxx.xx.com;

        location / {
            root   /home/www;
            index  index.html index.htm;
            if ($request_filename ~* ^.*?/.(zip|apk)$) {
                add_header Content-Disposition: 'attachment;';
            }
        }
}

3.nginx日志如下:

[05/Jun/2018:06:54:49 +0000] "GET /static/test/data.zip HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"

4.图片描述

阅读 8.4k
1 个回答

你这里有两个问题:

  1. add_header指令多了一个冒号:
  2. 没必要用if指令,用location更好

所以

            if ($request_filename ~* ^.*?/.(zip|apk)$) {
                add_header Content-Disposition: 'attachmet;';
            }

改为

            location ~* \.(zip|apk)$ {
                add_header Content-Disposition 'attachmet;';
            }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题