如何配置Nginx防御cc攻击

admin3年前云服务器45

配置Nginx防御cc攻击的方法:1、下载lua,并使用Nginx进行编译;2、编译完成后,对相关文件进行修改配置,即可完成配置防御cc攻击。

具体内容如下:

1、Nginx编译支持lua

下载lua-nginx-module

编译

#./configure\

--user=nginx\

--group=nginx\

--prefix=/usr/local/gacp/nginx\

--error-log-path=/data/logs/nginx/error/error.log\

--http-log-path=/data/logs/nginx/access/access.log\

--pid-path=/usr/local/gacp/nginx/conf/nginx.pid\

--lock-path=/var/lock/nginx.lock\

--with-http_flv_module\

--with-http_stub_status_module\

--with-http_ssl_module\

--with-pcre\

--with-http_realip_module\

--with-http_gzip_static_module\

--with-google_perftools_module\

--with-file-aio\

--add-module=../ngx_cache_purge-2.3\

--add-module=../lua-nginx-module-master

#make&&makeinstall

2、配置

http{

.....

limit_req_zone$cookie_tokenzone=session_limit:3mrate=1r/s;

limit_req_zone$binary_remote_addr$urizone=auth_limit:3mrate=1r/m;

}

server{

listen80;

server_namelocalhost;

access_log/data/logs/nginx/access/localhost.access.logmain;

error_log/data/logs/nginx/error/localhost.error.log;

charsetutf-8;

client_max_body_size75M;

root/data/www;

location/{

limit_reqzone=session_limitburst=5;

rewrite_by_lua'

localrandom=ngx.var.cookie_random

if(random==nil)then

returnngx.redirect("/auth?url="..ngx.var.request_uri)

end

localtoken=ngx.md5("opencdn"..ngx.var.remote_addr..random)

if(ngx.var.cookie_token~=token)then

returnngx.redirect("/auth?url="..ngx.var.request_uri)

end

';

}

location/auth{

limit_reqzone=auth_limitburst=1;

if($arg_url=""){

return403;

}

access_by_lua'

localrandom=math.random(9999)

localtoken=ngx.md5("opencdn"..ngx.var.remote_addr..random)

if(ngx.var.cookie_token~=token)then

ngx.header["Set-Cookie"]={"token="..token,"random="..random}

returnngx.redirect(ngx.var.arg_url)

end

';

}

}

标签: Nginxcc攻击
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

Nginx的作用详解,为什么在Web服务器中Nginx的比例越来越高?

Nginx的产生没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform...

Nginx服务器究竟是怎么执行PHP项目

CGI本身可以看成是一种协议标准,它可以用任何一种语言编写具体的符合该接口标准的协议存在,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。其实下面几个概念理解了,本文所要解释的...

Nginx+Keepalived实现Web服务器高可用

1、Nginx业务背景现公司需求快速搭建web服务器,对外提供给用户web服务。需求拆分需要基于http协议的软件,搭建服务实现介绍常见用法:1) web服务器软件 httpd http协议同类的we...

WEB服务器该选择 Apache 还是 Nginx?

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档。你可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器...

宝塔面板Nginx防恶意解析

宝塔面板防恶意解析  Nginx 防止恶意解析1、绑定一个默认站点,也就是找一个空闲不用的站点,所有未在面板绑定的域名都会访问到这个默认站点。2、添加好默认站点以后,修改站点的配置...

Nginx vs Apache两大web服务器比较

互联网从90年代开始席卷全球,现如今基本上所有业务都可以在互联网上完成,互联网已经成为我们生活中不可或缺的一部分。那么互联网web协议是怎样的呢?可以概括为访问者从给定的Web站点请求文档,而DNS和...