nginx-upstream-keepalive;accept_mutex-proxy_http_version-1.1-proxy_set_header-connection

本文介绍了一种使用nginx、resin、redis和mysql架构下应对模拟用户请求的大规模攻击的方法。针对攻击导致的连接状态异常,如TIME_WAIT泛滥及flood攻击警告,文章提出了通过nginx的keepalive机制进行缓解的具体配置方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx+resin+redis+mysql的架构;

有外部模拟用户请求的大量攻击;它尝试请求了80就断开;看到的现象是在跑有nginx80的主机上TCP连接数少

:

ESTABLISHED少; 在后端resin的主机上有大量的TIME_WAIT,然后resin所在主机的内核会报flood攻击信息

而在nginx80的主机上SYN_RECV 少;有大量的SYN_SENT

================

尝试通过nginx-upstream模块的keepalive机制来容纳该种攻击;

需要配置如下:

events {
use epoll;
worker_connections 65535;
accept_mutex off;--------------------------->新加;多线程需要
}

keepalive_timeout  100;--------------------->默认是65;设置更长的时间,形成连接池;让响应用户请求并转发给resin的TCP连接保持可复用。

proxy_http_version 1.1;--------------------->新指定,默认是1.0;1.0不适用
proxy_set_header Connection "";----------->1.1不需要,所以清空

 

upstream name_server {
server ip:port;
keepalive 32;------------------------------------->个数,总共保持长连接的个数
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值