nginx-upstream-keepalive;accept_mutex-proxy_http_version-1.1-proxy_set_header-connection
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;------------------------------------->个数,总共保持长连接的个数
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决