当前位置: 首页 > news >正文

如何利用国外网站开发客户南昌百度推广公司

如何利用国外网站开发客户,南昌百度推广公司,成都网站建设四川推来客网络,中天建设集团网站需求 统计静态文件的下载次数;判断用户是否有下载权限;根据用户指定下载速度;根据Referer判断是否需要防盗链;根据用户属性限制下载速度; X-Accel-Redirect This allows you to handle authentication, logging or …

需求

  • 统计静态文件的下载次数;
  • 判断用户是否有下载权限;
  • 根据用户指定下载速度;
  • 根据Referer判断是否需要防盗链;
  • 根据用户属性限制下载速度;

X-Accel-Redirect

This allows you to handle authentication, logging or whatever else you please in your backend and then have NGINX handle serving the contents from redirected location to the end user, thus freeing up the backend to handle other requests. This feature is commonly known as X-Sendfile.
这个功能允许你在后端处理权限,日志或任何你想干的,Nginx提供内容服务给终端用户从重定向后的路径,因此可以释放后端去处理其他请求(直接由Nginx提供IO,而不是后端服务)。这个功能类似 X-Sendfile 。

不同Web服务器,相同功能,不同的标识:

nginx: X-Accel-Redirect

squid: X-Accelerator-Vary

apache: X-Sendfile

lighttpd: X-Sendfile/X-LIGHTTPD-send-file

X-Accel-Limit-Rate

限制下载速度,单位字节。默认不限速度。

X-Accel-Buffering

设置此连接的代理缓存,将此设置为no将允许适用于CometHTTP流式应用程序的无缓冲响应。将此设置为yes将允许响应被缓存。默认yes

X-Accel-Expires

如果已传输过的文件被缓存下载,设置Nginx文件缓存过期时间,单位秒。默认不过期。

X-Accel-Charset

设置文件字符集,默认UTF-8

使用条件

  • 必须有Nginx作为后端服务的代理;
  • 必须访问Nginx的代理地址,直接访问后端服务Nginx会报404
  • 可自行配置Content-Type来控制是下载(application/octet-stream)还是展示(image/jpeg等);

代码实现

  1. Nginx监听9876端口。
  2. Nginx代理后端服务的8080端口。
  3. 设置/testAccel路径为internal,指定具体文件存储的磁盘位置。
  4. 后端服务接收到文件下载请求,处理业务逻辑后X-Accel-Redirect/testAccel路径。
  5. Nginx收到后端返回信息中的X-Accel-Redirect请求头,接管文件下载或显示任务。
  6. 请求路径:http://localhost:9876/file/download/1234.jpg。

Nginx配置:

        location / {#root   html;root   F:/web/;index  index.html index.htm;try_files $uri $uri/ /index.html;}location /testAccel {internal;alias F:/web/testAccel/file;}location /file {proxy_redirect off;proxy_set_header Host  $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:8080;            }

Java代码

注意fileName添加:.+,或者获取不到文件后缀名。

    @GetMapping("/file/download/{fileName:.+}")public void download(HttpServletRequest request,HttpServletResponse response,@PathVariable("fileName") String fileName) {//统计//鉴权//判断RefererString referer = request.getHeader("Referer");System.out.println(referer);String prefix = "/testAccel";// 在这之前进行一些必要的处理,比如鉴权,或者其它的处理逻辑。// 通过X-Accel-Redirect返回在nginx中的实际下载地址response.setHeader("X-Accel-Redirect", prefix + "/" + fileName);response.setHeader("X-Accel-Limit-Rate", "1024");//限速,单位字节,默认不限response.setHeader("X-Accel-Buffering", "yes");//是否使用Nginx缓存,默认yes}

如果直接访问路径:http://localhost:9876/testAccel/1234.jpg,就会报404错误

参考:

https://www.zhangbj.com/p/507.html

分类: springmvc , nginx

http://www.hkea.cn/news/775995/

相关文章:

  • 网站建设怎么样seo专家招聘
  • 在网盘上怎么做自己的网站整站优化推广
  • php建设网站实训百度搜索引擎的总结
  • 怎么在360自己做网站重庆seo排名收费
  • 外贸网站建设浩森宇特教育培训报名
  • 网站开发价目表深圳市前十的互联网推广公司
  • php做视频直播网站关键词竞价广告
  • 重庆怎么站seo深圳网络推广团队
  • 自学软件网站开发网络推广怎样做
  • 最新版的wordpress怎么添加特征图优化关键词的作用
  • 深圳做网站google推广网络营销和传统营销的区别和联系
  • 专业做网站的顺德公司网络推广怎么收费
  • php商城网站建设多少钱天津百度seo排名优化
  • 注册网站免费注册insseo关键词优化推广哪家好
  • 深圳房地产网站开发常见的网络营销工具有哪些
  • .net 网站管理系统湖南企业竞价优化首选
  • 南山区住房与建设局官方网站网络赚钱推广
  • wordpress mycred汉化seo引擎搜索入口
  • 在线教育网站用什么做百度搜索的优势
  • 甘肃省住房城乡建设厅网站首页智能建站模板
  • 智能科技网站模板下载地址百度学术论文查重
  • 网站要怎么做才能让360收录推广品牌的策划方案
  • 做网站前景营销课程培训视频
  • 青海做网站广告开户南京seo
  • wordpress写软文赚钱seo快速培训
  • 南宁网站建设接单陕西省人民政府
  • wordpress网站价格seo域名综合查询
  • 支付网站怎么做的网络自动推广软件
  • js做网站统计品牌关键词优化
  • 微信公众号管理平台官网谷歌seo建站