Ddos 保护语法 - Nginx

Ddos 保护语法 - Nginx

我在 Nginx 配置文件中使用了以下语法/etc/nginx/nginx.conf

user www-data;
worker_processes 2;
pid /run/nginx.pid;
worker_rlimit_nofile 100000;

events {
worker_connections 2048;
multi_accept on;
}

http {

##
# Basic Settings
##

client_header_buffer_size 2k;
large_client_header_buffers 2 1k;

client_body_buffer_size 10M;
client_max_body_size 10M;

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=50r/s;

server {
limit_conn conn_limit_per_ip 10;
limit_req zone=req_limit_per_ip burst=10 nodelay;
}

sendfile on;
tcp_nopush on;
tcp_nodelay on;
types_hash_max_size 2048;
server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

}

我的网站服务器块包含在:include /etc/nginx/sites-enabled/*;

如上所定义的服务器http是否会取代server{}我的块,sites-enabled/*以便 DDOS 保护能够按预期工作?

答案1

事实上,操作系统分布式拒绝服务攻击。DDOS 中的附加字母 D 代表分布式。

对于简单操作系统攻击您的设置可能会被利用。然而,这实际上取决于您的应用程序或网站,允许或预期的用例与不允许或不预期的用例之间的差异可能存在。没有通用的秘诀。

减轻分布式拒绝服务攻击你的设置无济于事。此类攻击会从许多不同的 IP 地址发起。通常,DDOS 攻击必须在网络级别上缓解,并且需要非常高的带宽。

答案2

我猜你说的是ngx_http_limit_conn_modulengx_http_limit_req_module

语法:limit_conn 区域号;
默认值:—
上下文:http、server、location
当且仅当当前级别上没有定义 limit_conn 指令时,这些指令才会从上一个配置级别继承。

因此,limit_conn您需要将其放置到块的上一级,http以使其继承到server块中。

语法:limit_req zone=name [burst=number] [nodelay | delay=number];
默认值:—
上下文:http、server、location
当且仅当当前级别上没有定义 limit_req 指令时,这些指令才会从上一个配置级别继承。

同样,将limit_req其放置到块的上一级http,使其继承到server块中。

相关内容