美文网首页
Nginx X-Accel-Redirect 静态转发

Nginx X-Accel-Redirect 静态转发

作者: 北方蜘蛛 | 来源:发表于2016-06-19 10:51 被阅读2490次

    有时候我们需要做下载文件,通常是使用类似 PHP readfile函数将文件输出到浏览器,再通过设置mini 类型来实现下载,这样做会有效率问题和网络大量网络IO,那么使用 X-Accel-Redirect 就可以避免这个问题具体配置如下:

    location /protected_files {
      internal;
      proxy_pass https://127.0.0.8/file/; #使用代理
    }
    
    #或者
    location /protected_files {
      internal;
      root  /var/www/file;
    }
    

    php 代码

    //发送本地文件
    header("X-Accel-Redirect:/protected_files/10.mp4");
    //发送远程文件 最终会转发到https://127.0.0.8/file/file?path=xxx.mp4
    header("X-Accel-Redirect:/protected_files/file?path=xxx.mp4");
    
    

    但是经过测试这种转发远程文件的速度,远不及,HTTP 302 的速度快。
    为了权限认证下载只能是妥协一下了。

    相关文章

      网友评论

          本文标题:Nginx X-Accel-Redirect 静态转发

          本文链接:https://www.haomeiwen.com/subject/whebdttx.html