Nginx配置文件修改:实现URL跳转与请求限流

配置文件nginx.conf,实现以下功能:

转发

所有对 abc.cn:8800 的请求都会被代理到 http://abc.cn:1299/Web/

例如,请求 abc.cn/eeee会被转发到 http://abc.cn:1299/Web/eeee

请求限流

每个 IP 地址的最大连接数被限制为 10 个。

每个 IP 地址的请求速率被限制为每分钟 60 次请求(允许突发请求最多 5 次,并且不延迟)实现  削峰填谷 的效果。

nginx.conf


#user  nobody;
worker_processes  auto;  #自动设置工作进程的数量,通常为 CPU 核心数。

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

daemon on;    #使 Nginx 以守护进程模式运行,通常这也是默认设置。
events {    # 块配置 Nginx 处理连接的方式。
    worker_connections  1024; #每个工作进程的最大连接数设置为 1024。
}


http {    #配置 HTTP 服务器的设置
    include       mime.types;    #包含 MIME 类型的配置文件,以便正确识别文件类型
    default_type  application/octet-stream;    #默认的 MIME 类型是 application/octet-stream,用于未知文件类型

    sendfile        on;    #启用高效的文件传输方式
    keepalive_timeout  65;    #连接保持活动的时间设置为 65 秒
    limit_conn_zone $binary_remote_addr zone=addr:20m;    #设置每个客户端 IP 的连接数限制,存储在 addr 区域,大小为 20MB
    limit_req_zone $binary_remote_addr zone=one:20m rate=60r/m;    #设置每个客户端 IP 的请求速率限制,存储在 one 区域,大小为 20MB,速率为每分钟 60 次请求。


     server {   # 配置一个虚拟主机
        listen       8800;    #服务器监听 8800 端口
        server_name  abc.cn;    #指定服务器的域名为 abc.cn
        
        location / {    #配置对根路径的处理
        	limit_conn addr 10 ;    #限制每个 IP 地址的最大连接数为 10
			limit_req zone=one burst=5 nodelay;    #限制每个 IP 地址的请求速率,允许突发请求最多为 5 次,并且不延迟
                        proxy_pass http://abc.cn:1299/Web/;    #将请求代理转发到 http://g1e.cn:1299/Wa9b0/
                        proxy_set_header X-Real-IP $remote_addr;    #设置代理请求头 X-Real-IP 为客户端的真实 IP 地址
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    #设置代理请求头 X-Forwarded-For 为客户端的真实 IP 地址,追加到现有的 X-Forwarded-For 头中
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
   
}

Burst

得不到执行的请求暂时缓存起来

burst=5  一分钟内如果有70个请求,那么60个请求会匀速执行,5个请求会缓存到下一分钟执行,5个请求会失败(503)

NoDelay

不加nodelay:每秒匀速执行1个请求

nodelay :请求立即执行, 如果一分钟的第一秒有30 个请求,那么这在第一秒就会之情这30个请求

Delay

delay=4   ,前4个请求匀速执行,从第5个请求开始 立即执行

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值