本帖最后由 乐橙306 于 2016-3-13 11:20 编辑
参考文档
HTTP map 模块
http://nginx.org/en/docs/http/ngx_http_map_module.html
参考文档
HTTP map 模块
http://nginx.org/en/docs/http/ngx_http_map_module.html
- #map模块 :创建变量,其值依赖其他变量的值
- #语法: map string $variable { ... }
- #用于获取client原始IP地址
- map $http_x_forwarded_for $clientRealIp {
- #创建变量clientRealIp
- "" $remote_addr;
- #调用remote_addr
- ~^(?P[0-9\.]+),?.*[ DISCUZ_CODE_6 ]nbsp; $firstAddr;
- #用正则匹配,从http_x_forwarded_for中取得用户的原始IP
- }
- #针对client真实IP地址做限制
- limit_conn_zone $clientRealIp zone=connRealIp:10m;
- #定义一个会话存储空间,key=$clientRealIp ,会话存储空间大小为10m
- limit_req_zone $clientRealIp zone=reqRealIp:10m rate=10r/s;
- #定义了一个zone,会话存储空间大小为10m,该区域的处理请求速度平均值不能超过每秒10个
0
- 一个典型的使用映射的例子是代替一个含有很多服务器的/location或者重定向:
- map $uri $new {
- default http://www.domain.com/home/;
-
- /aa http://aa.domain.com/;
- /bb http://bb.domain.com/;
- /john http://my.domain.com/users/john/;
- }
-
- server {
- server_name www.domain.com;
- rewrite ^ $new redirect;
- }
编辑回复