现在位置 >首页 > Web
通过nginx配置文件抵御攻击,防御CC攻击的经典思路!已关闭评论
0x00 前言 大家好,我们是OpenCDN团队的Twwy。这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果。 其实很多时候,各种防攻击的思路我们都明白,比如限制IP啊,过滤攻击字符串啊,识别攻击指纹啦。可是要如何去实现它呢?用守护脚本吗?用PHP在外面包 一层过滤?还是直接加防火墙吗?这些都是防御手段。不过本文将要介绍的是直接通过nginx的普通模块和配置文件的组合来达到一定的防御效果。 0x01 验证浏览器行为 简易版 我们先来做个比喻。 社区在搞福利,在广场上给大家派发红包。而坏人派了一批人...
阅读全文

1℃
2015年02月28日 Nginx ⁄ 被围观 22,306 次+
今天遇到一个奇怪的问题,在提交表单时直接就出现 502 Bad Gateway! 开始怀疑是程序问题,后来检查程序正常,发现post字段数大于1000时就出现502 Bad Gateway 而不超过1000时就正常,Google了下。发现有提到php.ini里配置项 max_input_vars 默认没有开启,默认值是1000 于是修改 max_input_vars为自己适合的值。再次提交OK正常了。
阅读全文
1℃
2013年04月13日 Nginx ⁄ 被围观 42,372 次+
Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。 例1:用Linux下的curl命令发送POST请求给Apache服务器上的HTML静态页 [root@localhost ~]# curl -d 11=1 http://www.92csz.com/index.html    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">   <HTML>       <HEAD>           <TITLE>405 Method Not Allowed</TITLE>       </HEAD>       <BODY>           <H1>Method Not A...
阅读全文
Apache的Order Allow,Deny 详解已关闭评论
2013年01月08日 Apache ⁄ 被围观 13,751 次+
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。 所以,最常用的是: Order Deny,Allow Allow from All 注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查禁 止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置, 开放所有内容的访问权。 按照上面的解释,下...
阅读全文
4℃
2012年09月05日 Nginx ⁄ 被围观 18,625 次+
今天Cacti服务器突然宕机,连也连不上,只好让机房帮忙重启服务器,重启后,进系统查看各日志,一切正常,中午查看Cacti时发现有图无数据,部分显示,一部分不显示了。如下图: 而同一服务器的其他模板数据采集正常,所以觉得很奇怪,用命令查看了下也能采集到数据。可就是不显示图像。忽然想到了Cacti更换界说轮询器时需要清空pollor cache,有可能是缓存导致了模板里显示不出数据。于是Console->System Utilities->Rebuild Poller Cache后,过一会数据终于显示了。
阅读全文
3℃
2012年06月26日 Nginx ⁄ 被围观 23,356 次+
用nginx做前端代理后,我们发现 HTTP_X_FORWARDED_FOR 无法获取到客户端真实的IP地址了。 原因 Nginx 默认并不会增加 X_FORWARDED_FOR 头信息,我们给他加上就好了。简单配置如下: location /    {        proxy_pass          http://www.92csz.com;        proxy_set_header    Host             $host;        proxy_set_header    X-Real-IP        $remote_addr;        proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;    //别忘了这一句        proxy_set_header    HTTP_X_FORWARD...
阅读全文
1℃
2012年05月17日 Nginx ⁄ 被围观 9,116 次+
Nginx 变量漫谈(三) 转自:http://blog.sina.com.cn/openresty 也有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 URL 参数串(即请求 URL 中问号后面的部分,如果有的话 ),而在赋值时可以直接修改参数串。我们来看一个例子: location /test {        set $orig_args $args;        set $args "a=3&b=4";        echo "original args: $orig_args";        echo "args: $args";    }   这里我们把原始的 URL 参数串先保存在 $orig_args 变量中,然后通过改写 $a...
阅读全文
Nginx 变量漫谈(二)已关闭评论
2012年05月17日 Nginx ⁄ 被围观 10,310 次+
Nginx 变量漫谈(二) 转自:http://blog.sina.com.cn/openresty 关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的。其实不然。我们来看一个涉及“内部跳转”的例子: server {        listen 8080;        location /foo {            set $a hello;            echo_exec /bar;        }        location /bar {            echo "a = [$a]";        }    }   这里我们在 location /foo 中,使用第三方模块 ngx_echo 提供的 echo_exec 配置指令,发起到 location /bar 的...
阅读全文
2℃
2012年05月17日 Nginx ⁄ 被围观 26,102 次+
Nginx 变量漫谈(一) 转自:http://blog.sina.com.cn/openresty Nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序。当然,是不是“图灵完全的”暂且不论,至少据我观察,它在设计上受 Perl 和 Bourne Shell 这两种语言的影响很大。在这一点上,相比 Apache 和 Lighttpd 等其他 Web 服务器的配置记法,不能不说算是 Nginx 的一大特色了。既然是编程语言,一般也就少不了“变量”这种东西(当然,Haskell 这样奇怪的函数式语言除外了)。 熟悉 Perl、Bourne Sh...
阅读全文
2℃
2012年04月27日 Nginx ⁄ 被围观 48,734 次+
http keepalive 在http早期 ,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会 断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd 服务器的吞吐率(更少的tcp连接意味着更少的系统内核调用,socket的accept()和close()调用)。但是,keep-alive并不是 免费的午餐,长时间的tcp连接容易导致系统资源无效占用。配置不当的keep-ali...
阅读全文