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

2℃
2015年02月28日 Nginx ⁄ 被围观 8,524 次+
今天遇到一个奇怪的问题,在提交表单时直接就出现 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 ⁄ 被围观 28,251 次+
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...
阅读全文
4℃
2012年09月05日 Nginx ⁄ 被围观 11,410 次+
今天Cacti服务器突然宕机,连也连不上,只好让机房帮忙重启服务器,重启后,进系统查看各日志,一切正常,中午查看Cacti时发现有图无数据,部分显示,一部分不显示了。如下图: 而同一服务器的其他模板数据采集正常,所以觉得很奇怪,用命令查看了下也能采集到数据。可就是不显示图像。忽然想到了Cacti更换界说轮询器时需要清空pollor cache,有可能是缓存导致了模板里显示不出数据。于是Console->System Utilities->Rebuild Poller Cache后,过一会数据终于显示了。
阅读全文
3℃
2012年06月26日 Nginx ⁄ 被围观 12,878 次+
用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 ⁄ 被围观 5,550 次+
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...
阅读全文
评论关闭
2012年05月17日 Nginx ⁄ 被围观 6,396 次+
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 ⁄ 被围观 15,578 次+
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 ⁄ 被围观 29,788 次+
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...
阅读全文
18℃
2012年04月18日 Nginx ⁄ 被围观 17,531 次+
下载服务器时常被人盗链,时间久了导致服务器大量资源浪费,由于服务器使用nginx做为web服务器。nginx的防盗链方法有很多,可以使用现成的防盗链模块nginx-accesskey-2.0.3,编译ningx时添加此模块即可。 由于服务其他业务需要,所以nginx编译了lua模块,所以就想通过lua来实现下载服务器的防盗链功能,这样就可以免去了accesskey模块。原理就是生成经过处理过的下载链接,然后下载服务器在处理这个下载链接,成功则下载,失败则阻止。下面就是详细的配置实例:(其中要编译nginx添加lua模块支持,可参考:http://...
阅读全文