现在位置 >首页 > 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,687 次+
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...
阅读全文
3℃
2012年06月26日 nginx ⁄ 被围观 15,111 次+
用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,288 次+
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,195 次+
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,218 次+
nginx 变量漫谈(一) 转自:http://blog.sina.com.cn/openresty nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 nginx 配置文件其实就是一个一个的小程序。当然,是不是“图灵完全的”暂且不论,至少据我观察,它在设计上受 perl 和 bourne shell 这两种语言的影响很大。在这一点上,相比 apache 和 lighttpd 等其他 web 服务器的配置记法,不能不说算是 nginx 的一大特色了。既然是编程语言,一般也就少不了“变量”这种东西(当然,haskell 这样奇怪的函数式语言除外了)。 熟悉 perl、bourne sh...
阅读全文
18℃
2012年04月18日 nginx ⁄ 被围观 19,366 次+
下载服务器时常被人盗链,时间久了导致服务器大量资源浪费,由于服务器使用nginx做为web服务器。nginx的防盗链方法有很多,可以使用现成的防盗链模块nginx-accesskey-2.0.3,编译ningx时添加此模块即可。 由于服务其他业务需要,所以nginx编译了lua模块,所以就想通过lua来实现下载服务器的防盗链功能,这样就可以免去了accesskey模块。原理就是生成经过处理过的下载链接,然后下载服务器在处理这个下载链接,成功则下载,失败则阻止。下面就是详细的配置实例:(其中要编译nginx添加lua模块支持,可参考:http://...
阅读全文
评论关闭
2012年02月19日 nginx ⁄ 被围观 21,972 次+
为了提高性能,几乎所有互联网应用都有缓存机制,其中memcache是使用非常广泛的一个分布式缓存系统。众所周知,lamp是非常经典的web架构方式,但是随着nginx的成熟,越来越多的系统开始转型为lnmp(linux+nginx+mysql+php with fpm),这是因为nginx采用基于事件机制的i/o多路复用思想设计,在高并发情况下其性能远远优于默认采用prefork模式的apache,另外,相对于apache,nginx更轻量,同时拥有大量优秀的扩展模块,使得在nginx上可以实现一些美妙的功能。 传统上,php中使用memcache的方法是使用php-memcache或...
阅读全文
1℃
2011年12月31日 nginx ⁄ 被围观 12,892 次+
借助 nginx proxy 模块我们可以给 ngx_lua 很方便地实现非阻塞 http 客户端功能,即使用一个被 proxy 模块处理的内部 location 作为 http client stub,然后通过 ngx_lua 中的 location.capture 接口调用它访问外部 url。当然为了能解析外部域名,还需要指定 nginx 的 resolver 地址以开启 proxy 模块的域名解析功能。 下面就是一个简单的网页编码转换网关的 nginx 配置(需要事先安装 lua-iconv模块): nginx 配置代码 http { ... #指定域名解析服务器地址 resolver127.0.0.1; ...
阅读全文