浏览模式: 普通 | 列表
8月, 2016 | 1
p.s. 较新版本的nginx中默认已经加载了 ngx-http-geo-module 和 ngx-http-map-module ,所以不必再额外添加模块。
另外,如果修改nginx.conf没有生效,-s reload无法生效的话需要干掉所有nginx进程,重新打开nginx 。参考: http://blog.xg98.com/article.asp?id=2656

在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容;
ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址;
ngx-http-map-module可以基于其他变量及变量值进行变量创建,其允许分类,或者映射多个变量到不同值并存储在一个变量中;
...

阅读全文…
p.s. nginx里面有2个模块可以限制客户端的访问频率:limit_req和limit_conn ,具体的区别可以再查,这里只讲述 limit_req ,一般也够用了。
p.s. 如果修改配置不生效,需要杀进程重新开 nginx 。参考: http://blog.xg98.com/article.asp?id=2656


本文介绍下,nginx环境中使用Limit Requests模块,限制单个IP请求速率的方法,有需要的朋友,参考下吧。

Limit Requests模块可以限制单个客户端发送请求的速率。

示例配置如下:
http {
     limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
     server {
             location ~ .*\.(php|php5)?$
...

阅读全文…

nginx geo使用方法

[ 2016-08-03 14:37:18 | 作者: admin ]
geo指令使用ngx_http_geo_module模块提供的。默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module。 ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址。 geo指令 语法: geo [$address] $variable { ... } 默认值: — 配置段: http 定义从指定的变量获取客户端的IP地址。默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得。


geo $remote_addr $geo {
                default 0;
                127.0.0.1 1;
}
geo $http_client_ip $geo {
                default 0;
                127.0.0.1 1;
}
1