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

2℃
2015年02月28日 nginx ⁄ 被围观 11,220 次+
今天遇到一个奇怪的问题,在提交表单时直接就出现 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 ⁄ 被围观 33,688 次+
apache、iis、nginx等绝大多数web服务器,都不允许静态文件响应post请求,否则会返回“http/1.1 405 method not allowed”错误。 例1:用linux下的curl命令发送post请求给apache服务器上的html静态页 [root@localhost~]#curl-d11=1/index.html <!doctypehtmlpublic"-//ietf//dtdhtml2.0//en"> <html> <head> <title>405methodnotallowed</title> </head> <body> <h1>methodnota...
阅读全文
4℃
2012年09月05日 nginx ⁄ 被围观 12,987 次+
今天cacti服务器突然宕机,连也连不上,只好让机房帮忙重启服务器,重启后,进系统查看各日志,一切正常,中午查看cacti时发现有图无数据,部分显示,一部分不显示了。如下图: 而同一服务器的其他模板数据采集正常,所以觉得很奇怪,用命令查看了下也能采集到数据。可就是不显示图像。忽然想到了cacti更换界说轮询器时需要清空pollor cache,有可能是缓存导致了模板里显示不出数据。于是console->system utilities->rebuild poller cache后,过一会数据终于显示了。
阅读全文
3℃
2012年06月26日 nginx ⁄ 被围观 15,112 次+
用nginx做前端代理后,我们发现 http_x_forwarded_for 无法获取到客户端真实的ip地址了。 原因 nginx 默认并不会增加 x_forwarded_for 头信息,我们给他加上就好了。简单配置如下: location/ { proxy_pass; proxy_set_headerhost$host; proxy_set_headerx-real-ip$remote_addr; proxy_set_headerx-forwarded-for$proxy_add_x_forwarded_for;//别忘了这一句 proxy_set_headerhttp_x_forward...
阅读全文
1℃
2012年05月17日 nginx ⁄ 被围观 6,289 次+
nginx 变量漫谈(三) 转自:http://blog.sina.com.cn/openresty 也有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 url 参数串(即请求 url 中问号后面的部分,如果有的话 ),而在赋值时可以直接修改参数串。我们来看一个例子: location/test{ set$orig_args$args; set$args"a=3&b=4"; echo"originalargs:$orig_args"; echo"args:$args"; } 这里我们把原始的 url 参数串先保存在 $orig_args 变量中,然后通过改写 $a...
阅读全文
评论关闭
2012年05月17日 nginx ⁄ 被围观 7,196 次+
nginx 变量漫谈(二) 转自:http://blog.sina.com.cn/openresty 关于 nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的。其实不然。我们来看一个涉及“内部跳转”的例子: server{ listen8080; location/foo{ set$ahello; echo_exec/bar; } location/bar{ echo"a=[$a]"; } } 这里我们在 location /foo 中,使用第三方模块 ngx_echo 提供的 echo_exec 配置指令,发起到 location /bar 的...
阅读全文
2℃
2012年05月17日 nginx ⁄ 被围观 18,219 次+
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 ⁄ 被围观 34,579 次+
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 ⁄ 被围观 19,368 次+
下载服务器时常被人盗链,时间久了导致服务器大量资源浪费,由于服务器使用nginx做为web服务器。nginx的防盗链方法有很多,可以使用现成的防盗链模块nginx-accesskey-2.0.3,编译ningx时添加此模块即可。 由于服务其他业务需要,所以nginx编译了lua模块,所以就想通过lua来实现下载服务器的防盗链功能,这样就可以免去了accesskey模块。原理就是生成经过处理过的下载链接,然后下载服务器在处理这个下载链接,成功则下载,失败则阻止。下面就是详细的配置实例:(其中要编译nginx添加lua模块支持,可参考:http://...
阅读全文