nginx+tomcat抵御慢速连接攻击
一、安装nginx
apt-get install nginx
安装中途可能会要求填写许可,输入‘y’就好了
如果安装提示“E: Unable to locate package nginx”,那么输入命令:apt-get update,然后回车就好了
二、编辑配置文件
nginx的配置文件所在路径:
/etc/nginx/nginx.conf
直接编辑,在http模块中添加:
limit_req_zone $binary_remote_addr zone=one:10m rate=8r/s; limit_conn_zone $binary_remote_addr zone=addr:10m; server{ listen 80; server_name ip; charset utf-8; location / { proxy_pass http://127.0.0.1:8080; limit_req zone=one burst=5 nodelay; limit_conn addr 3; } }
limit_req_zone $binary_remote_addr zone=one:10m rate=8r/s
限制了同一ip1秒钟内最多可以请求8次
limit_conn_zone $binary_remote_addr zone=addr:10m
声明同一ip的连接数限制为addr
limit_req zone=one burst=5 nodelay
同一ip的请求使用缓存,大小为5,并且不延迟
limit_conn addr 3
同一ip的连接数限制为3个
三、整合tomcat
listen 80; server_name ip;
listen:一般来说监听80端口
server_name:服务器的ip
location / { proxy_pass http://127.0.0.1:8080; }
/:代表请求的文件夹,/表示所有
proxy_pass:请求转发到的路径,这里是本地的tomcat服务