一种控制文件访问权限和下载速度实现

        以前在工作中遇到一种场景,公司是自建机房,公网带宽80M,因为客户要求文件服务器也是基于FastDFS在本地机房搭建的。业务场景中就大量涉及图片、音频和视频文件的访问和下载,这样对文件的访问权限控制和下载性能就提出了一定要求。

当时采用的方案大致如下:

  1. 基于SpringBoot构建独立的文件服务,用于管理文件访问权限和控制用户文件下载速度
  2. 文件访问和下载仍然由Nginx和FastDFS集群完成,保证文件下载性能水平,并且文件真实下载路径对用户也是不可见的

 具体实现步骤:

  1. Nginx新增文件下载配置,将download请求转发至SpringBoot文件服务(该文件服务当然也可以由其它语言开发)
    location /download {
        proxy_pass   http://文件服务IP:文件服务端口;
    }
    
  2. Nginx新增对FastDFS集群的反向代理配置增加内部调用限制,不再允许外部请求直接访问FastDFS中的文件
    location /fastdfs {
        internal;
        proxy_pass   http://FastDFS_IP:FastDFS_PORT;
    }
  3. SpringBoot文件服务接口进行鉴权、限速响应头设置及内部重定向操作,完成文件访问控制和限速下载功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆流的小鱼168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值