`
enetor
  • 浏览: 189191 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Nginx限制下载连接的设置

 
阅读更多

编辑nginx.conf配置文件

在http{}里面,加上这句:

limit_zone one $binary_remote_addr 10m;

然后,在server{}里面加上下面这段:

location / {
        limit_conn one 1;
        limit_rate 100k;
}

这里limit_conn one 1是指一个IP只能用一个线程下载。
limit_rate 100k是指最大只能下载100k。
怎么样?很方便吧?
如果你的站有文件给别人下载,比如一些比较大的视频文件等,如果下载的人过多,肯定会影响系统负载。做一些限制是有必要的。
因为有的人会直接在服务器上拖你的下载文件,不限制,有时下载速度会达到几兆/秒或者更多。

注意“location /”是指网站根目录,如果你只需要指定某文件夹下面的文件,可以写成“location /你的下载文件夹”。

记得修改完了,要重新启动下Nginx:

# /usr/local/nginx/sbin/nginx -h


--------------------------------------------------------------

限制ip并发数

 

1.添加limit_zone
这个变量只能在http使用
[root@10.10.90.97  ~]# vi /usr/local/nginx/conf/nginx.conf
limit_zone one $remote_addr 10m;

2.添加limit_conn
这个变量可以在http, server, location使用
[root@10.10.90.97  ~]# vi /usr/local/nginx/conf/nginx.conf
limit_conn   one 10;

3.重启nginx
killall -HUP nginx

 

nginx限速

 

nginx可以通过HTTPLimitZoneModule和HTTPCoreModule两个组件来对目录进行限速。
http {
  limit_zone   one  $binary_remote_addr  10m; 
  server {
    location /download/ {
      limit_conn   one  1;
      limit_rate 300k;
    }
  }
}
limit_zone:       是针对每个IP定义一个存储session状态的容器.这个示例中定义了一个10m的容器,按照32bytes/session, 可以处理320000个session。
limit_conn one 1:限制每个IP只能发起一个并发连接。
limit_rate 300k: 对每个连接限速300k. 注意,这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。




------------------------------------------------------------------------------------------
对于nginx而言,本身也有简单的防盗链模块ngx_http_referer_module,配置比较简单,定义文件类型:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

      valid_referers none blocked server_names *.163.com 163.com baidu.com;
      if ($invalid_referer) {return 403;}
    expires      30d;
}


具体的可以参考这里:http://wiki.nginx.org//NginxHttpLimitZoneModule,同时还有一个第三的防盗链相关模块,ngx_http_accesskey_module:
location /download {
accesskey             on;
accesskey_hashmethod md5;
accesskey_arg         "key";
accesskey_signature   "mypass$remote_addr";
}


具体的使用方法:http://wiki.nginx.org//NginxHttpAccessKeyModule
分享到:
评论

相关推荐

    nginx 限制ip、并发量、连接数等配置

    以上就是Nginx限制IP、控制并发连接数和设置连接数上限的基本方法。在实际应用中,可能还需要根据服务器的性能、网络环境和业务需求进行更精细的调整。Nginx的强大之处在于其模块化设计和高度可配置性,可以根据需要...

    nginx与apache限制ip连接数和带宽方法.docx

    nginx 与 Apache 限制 IP 连接数和带宽方法 本文档旨在介绍如何使用 Nginx 和 Apache 限制 IP 连接数和带宽的方法。这些方法可以帮助管理员控制服务器的资源使用,避免因为大量恶意请求而导致服务器崩溃。 一、...

    [线上问题] “服务端长连接与客户端短连接引起Nginx产生大量\"TIME_WAIT\"状态的线程”的问题分析解决

    与之相对的短连接,则是每次发送或接收数据后立即断开,每次通信都需要重新建立连接,适用于通信频率较低,或者对资源消耗有限制的情况,如Web网站的HTTP服务。短连接的频繁建立与断开会带来较大的开销,尤其是当...

    nginx限制连接数ngx_http_limit_conn_module模块1

    【Nginx 限制连接数 ngx_http_limit_conn_module 模块详解】 在互联网服务中,服务器经常面临流量异常、负载过大的情况,尤其在遭受大流量恶意攻击时,带宽的浪费、服务器压力的增大都会对业务造成严重影响。为了...

    nginx防并发限制ip连接数等配置.zip

    Nginx通过设置`limit_conn`和`limit_req`模块来限制每个IP地址的并发连接数和请求速率。这两个模块可以帮助我们有效地控制服务器的访问流量,避免DDoS攻击和其他滥用行为。 **2. limit_conn模块** `limit_conn`模块...

    Nginx服务器中限制连接数与限制请求的模块配置教程

    在Nginx服务器中,管理和优化并发连接数以及限制恶意请求是确保系统稳定性和资源有效利用的关键措施。本文将深入探讨如何使用Nginx的ngx_http_limit_conn_module和ngx_http_limit_req_module模块来实现这两个目标。 ...

    nginx限制并发连接请求数的方法

    在Nginx中限制并发连接请求数和限制并发请求数是两种不同的策略,用于管理服务器资源并防止过载。这两个功能都是通过Nginx的模块实现的,分别是`http_limit_conn_module`和`http_limit_req_module`。这两个模块默认...

    nginx1.8.1

    4. **限速与限流**:通过 limit_rate 和 limit_conn 指令,可以限制客户端的下载速度和连接数,防止 DDoS 攻击。 在实际部署中,`nginx-1.8.1` 包可能包含了 Nginx 的源代码、编译脚本、配置文件示例等,用户可以...

    nginx-1.9.15文件下载服务器

    5. **安全控制**:Nginx 可以设置访问控制规则,限制特定 IP 或用户下载特定文件,保护敏感资源。 **Nginx 源码安装与配置** 1. **下载源码**:首先,你需要从 Nginx 官方网站或镜像站点获取 Nginx 1.9.15 的源码...

    nginx arm64版本nginx-linux-arrch64.zip

    - 高并发:Nginx采用事件驱动模型,能够处理大量并发连接,特别适合高流量网站。 - 轻量级:Nginx内存占用少,资源消耗低,提高了服务器效率。 - 反向代理:作为反向代理服务器,Nginx可以将来自客户端的请求转发...

    Nginx超时设置.docx

    ### Nginx超时设置详解 #### 一、概述 Nginx 是一款广泛使用的高性能 Web 服务器和反向代理服务器。它具有丰富的配置选项,能够满足不同场景下的需求。其中,超时设置是非常重要的一个方面,对于提高用户体验、...

    详解nginx的请求限制(连接限制和请求限制)

    Nginx提供了两种模块来应对这种情况,分别是`http_limit_conn_module`和`http_limit_req_module`,它们用于限制连接数和请求频率,从而保护服务器免受过度负荷的影响。 ### **1. 连接限制** #### **1.1 `...

    Web应用安全:Nginx禁止目录列出配置实验.doc

    用 Windows 连接 Kali 的 Nginx 服务器,并尝试进行目录遍历攻击。由于我们之前在配置文件中加入了“autoindex on”,因此目录遍历攻击将会成功。 4. 禁止目录列出配置 为了禁止目录列出,我们需要将“autoindex ...

    nginx与apache限制ip并发访问 限制ip连接的设置方法

    nginx nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf limit_zone one $binary_remote_addr 10m; 2.添加limit_conn 这...

    nginx 负载均衡for windows, 跨越 100万TCP连接

    1. **限速与限制连接数**:通过`limit_conn`和`limit_req`模块防止DDoS攻击。 2. **HTTPS支持**:启用SSL/TLS加密,保护数据传输安全。 综上所述,Nginx在Windows环境下的负载均衡不仅体现在其基础的分发请求功能,...

    nginx-1.6.3

    1. **Windows 安装**:下载 Nginx-1.6.3 的 Windows 版本,解压到指定目录,然后通过运行`nginx.exe`启动服务。 2. **配置文件**:主要配置文件为 `nginx.conf`,其中包含了服务器监听端口、虚拟主机、反向代理、...

    nginx1.24.0 windows版

    - **安装与配置**:与Linux系统中的包管理器不同,Windows版Nginx通常需要手动下载安装包,解压后运行`nginx.exe`启动服务。配置文件位于`conf/nginx.conf`,可以根据需求进行修改。 - **服务管理**:在Windows上...

    Nginx 如何限制访问频率,下载速率和并发连接数的方法

    Nginx限制访问频率、下载速率和并发连接数,旨在防止服务器过载,优化用户体验,以及阻止恶意行为。 在介绍限制方法之前,需要知道两个主要模块:ngx_http_limit_req_module和ngx_http_limit_conn_module。ngx_...

    Nginx服务器限制访问速度的配置方法

    这意味着你可以在全局服务器配置中限制连接数和传输速度,也可以针对特定的虚拟服务器或者URL路径进行更细致的控制。 实际的限速配置还需要考虑到业务需求,例如,如果FTP服务提供下载,可能需要限制用户下载速度...

Global site tag (gtag.js) - Google Analytics