NGINX 文件下载权限简单配置

为什么80%的码农都做不了架构师?>>>   hot3.png

文件需要权限才能下载 需要积分才能下载的 可以了解下

原理很简单: 核心就是 不能暴露文件的真实地址,避免使用脚本输出文件增加服务器负担。

nginx 配置个下载站点

server {
        listen       80;
        server_name     down.max.cn;
        
        location / {
                root  /mnt/hgfs/html/test.down/;
                index index.html index.htm index.php;
        }

        location ~ \.php$ {
                root /mnt/hgfs/html/test.down/;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
    
    
        #这里是重点
        location /download/ {
            internal;
           # alias  /mnt/hgfs/html/test.files/;
           # root /mnt/hgfs/html/test.files;
            proxy_pass http://files.antuan.cn/; #使用代理
         }
         
     }   

 
     
     
    当用户访问 http://down.max.cn/index.php 的时候 可以带参数 这样程序就能通过参数d
    === index.php 代码


    
    nginx X-Accel-Redirect  基于应用程序的header来发送静态文件的特性
    
     internal  通俗的理解就是 阻止直接访问 
    
     //麻烦各位看清楚 配置的路径 注意  / 是否有。
     
     alias  /mnt/hgfs/html/test.files/; 
     转发后的地址是  /mnt/hgfs/html/test.files/1.rar
     
     root /mnt/hgfs/html/test.files;
     转发后的地址是  /mnt/hgfs/html/test.files/download/1.rar  
     (注意:root路径和内部跳转路径拼接在一起了) 给客户端.
    
     proxy_pass http://files.antuan.cn/   #使用代理
     转发后的地址是  http://files.antuan.cn/1.rar
     
     
        

转载于:https://my.oschina.net/cpuser/blog/1536017

你可能感兴趣的:(运维,php,java)