`
kavy
  • 浏览: 891183 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx下载服务器

 
阅读更多
一.防盗链设置
 
在nginx 的wiki站了解到一个第三方模块ngx_http_accesskey_module,通过自己测试,能有效的防盗链,特别是对于文件下载站的防盗链非常有效。

有关这个模块的一些文档在这里去看:http://wiki.codemongers.com/NginxHttpAccessKeyModule

 
1. 下载NginxHttpAccessKeyModule模块文件:Nginx-accesskey-2.0.3.tar.gz
2. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。
编辑此文件:替换其中的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”
3. 用一下参数重新编译nginx:

shell> ./configure --add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:
location /download {
  accesskey             on;
  accesskey_hashmethod  md5;
  accesskey_arg         "key";
  accesskey_signature   "mypass$remote_addr";
}

其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。

 

访问测试脚本download.php:

<?php

    $ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);

  $output_add_key="<a href=http://xx/download/xx.rar?key=".$ipkey.">download_add_key</a><br />";
  $output_org_url="<a href=http://xx/download/xx.rar>download_org_path</a><br />";
  echo $output_add_key;
  echo $output_org_url;
?>


原理是:

通过接受到的参数值判断访问是否合法。这里有一套MD5加密算法。前台的网页根据用户的IP产生一个MD5值,后端的WEB SERVER就来判断这个MD5,对的就放行。不对就拒绝。浏览器上直接访问物理文件,是不能打开的。

如我的download 目录下有一个 file.zip 的文件。对应的URI 是http://xx/download/file.zip

使用ngx_http_accesskey_module 模块后http://xx/download/file.zip?key=09093abeac094. 只有给定的key值正确了,才能够下载download目录下的file.zip。而且 key 值是根据用户的IP有关的,这样就可以避免被盗链了。

 

二. nginx的线程限制和带宽限制

这里有nginx的标准模块ngx_http_limit_zone_module,这个模块可以针对条件,进行会话的并发连接数控制。
http {
  limit_zone one $binary_remote_addr 10m; #定义one
    server {
        location /download/ {
            limit_conn   one  1;   #一个ip客户端,最大2个并发线程
                limit_rate 32k;         #每个线程最大下载速度
     }
     if ($request_method !~* ^(GET)$ ) {  #只允许get方式请求,其他访问方式403
          return 403;
     }
    }
}
分享到:
评论

相关推荐

    nginx下载服务器配置

    在搭建一个用于提供下载服务的Nginx服务器时,我们需要进行一系列的配置步骤。以下是详细过程: 1. **安装Nginx** 首先,你需要在你的服务器上安装Nginx。对于Ubuntu/Debian系统,可以使用以下命令: ``` sudo ...

    Nginx web服务器

    Nginx 高性能web服务器详解、包括安装、配置、Linux内核优化、Nginx的相关优化等

    搭建nginx点播服务器

    搭建Nginx点播服务器是将Nginx配置为一种能高效处理静态媒体文件,如音频和视频,供用户按需访问的服务器。Nginx因其高性能、高并发能力、内容分发、缓存功能、安全性以及负载均衡能力,成为搭建点播服务器的理想...

    nginx rtmp 服务器编译好

    1. **获取源代码**:首先,从Nginx官方网站或GitHub仓库下载Nginx的源代码。同时,你需要获取Nginx RTMP模块的源代码,通常是一个单独的git库。 2. **安装依赖**:在Windows上,你需要安装Microsoft Visual Studio...

    用nginx搭建简单的文件下载服务器的方法

    以上步骤完成后,你的Nginx服务器就配置成一个文件下载服务器了。用户可以通过输入IP地址加端口号的方式访问到你设定的下载目录,并进行文件下载操作。 此外,在使用Nginx搭建文件下载服务器时,还需要注意文件权限...

    nginx rtmp转发服务器

    - 配置Nginx服务器,设置RTMP模块的相关指令,如应用的监听端口、流存储路径等。 - 启动或重启Nginx服务,使其加载新的配置。 4. **配置RTMP转发** 在Nginx配置文件中,可以通过`rtmp`指令定义服务器,然后使用`...

    ubunt下安装nginx web服务器

    本文将手把手指导您在 Ubuntu 下安装 Nginx Web 服务器,包括安装前提、Nginx 源码下载、目录结构认识、Nginx 的编译和安装、Nginx 的启动和简单使用。 安装前提 在安装 Nginx 之前,您需要满足以下条件: 1. ...

    图书:Nginx HTTP服务器

    《Nginx HTTP服务器》这本书深入探讨了Nginx这一高效、轻量级的Web服务器。Nginx以其反向代理、负载均衡和静态文件处理能力而闻名,被广泛应用于高性能网站架构中。以下是该书可能涉及的知识点,以及与之相关的IT...

    java实现客户端上传图片到ftp服务器,nginx提供http服务下载图片

    这里主要涉及三个关键知识点:Java FTP客户端编程、Nginx服务器配置以及Java与Nginx之间的交互。 首先,Java FTP客户端编程是通过Java的`java.net`和`org.apache.commons.net.ftp`库来实现的。Apache Commons Net库...

    Nginx服务器的安装与配置

    ### Nginx服务器的安装与配置 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。Nginx是由Igor...

    Nginx高性能Web服务器详解(完整版)pdf下载

    Nginx是一款高性能的Web服务器,它以其反向代理、负载均衡、静态文件处理和高效非阻塞I/O模型而闻名。Nginx的设计理念是轻量级、高并发,因此在处理高流量网站时表现出色。以下是Nginx的一些核心知识点: 1. **模块...

    使用Tomcat或Nginx搭建视频服务器

    标题中提到的“使用Tomcat或Nginx搭建视频服务器”涉及到两个Web服务器软件:Apache Tomcat和Nginx。Apache Tomcat是一个开源的Web服务器和Servlet容器,主要用来运行Java Servlet和JavaServer Pages (JSP)。而Nginx...

    nginx-1.0.4 服务器软件下载

    nginx-1.0.4 nginx nginx最新版 全能服务器 代理服务器 http://www.bywei.cn/blog 程序员百味 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 ...

    nginx图片服务器配置和https配置

    nginx图片服务器配置和https配置

    nginx服务器及使用

    **Nginx服务器详解** Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。它以其稳定性高、内存占用少、处理静态文件速度快等特性在Web服务器领域广泛应用。Nginx的设计目标是高并发、低内存...

    nginx搭建文件服务器上传文件获取文件

    ### Nginx 搭建文件服务器:上传与获取文件 在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取...

    nginx 1.9.7服务器windows版

    1. 下载解压`nginx-1.9.7`压缩包。 2. 配置`nginx.conf`,这是Nginx的主要配置文件,定义了服务器的行为、监听端口、虚拟主机等信息。 3. 将`nginx.exe`作为服务启动,可以使用`nginx -install`命令进行安装,以便在...

Global site tag (gtag.js) - Google Analytics