nginx有不少模块配置,包括官方模块和第三方模块。
Syntax:stub_status
Default:--
Context:server,location
例如:php
server { ... location /mystatus { stub_status; } }
Syntax:random_index on | off
Default:random_index off
Context:location
server { ... location / { root /opt/app/code; random_index on; } }
Syntax:sub_filter string replacement;
Default:--
Context:http,server,location
server { ... location / { root ...; index index.html index.php; sub_filter '替换前的内容' '替换后的内容'; } }
Syntax:sub_filter_last_modified on|off;主要用于缓存
Default:sub_filter_last_modified off;
Content:http,server,location
Syntax:sub_filter_once on|off; 全局/非全局替换
Default:sub_filter_once on;
Context:http,server,location
server { ... location / { root ...; index index.html index.php; sub_filter '替换前的内容' '替换后的内容'; sub_filter_once off; // 所有替换 } }
链接频率限制:limit_conn_module
请求频率限制:limit_req_module
链接限制:html
Syntax:limit_conn_zone key zone=name:size;
Default:--
Context:http
Syntax:limit_conn zone number;// 须要基于limit_conn_zone
Default:--
Context:http,server,location
请求限制:node
Syntax:limit_req_zone key zone=name:size rate=rate;
Default:--
Context:http
Syntax:limit_req zone=name burst=number;// 须要基于limit_req_zone
Default:--
Context:http,server,location
http { .... limit_conn_zone $binanry_remote_addr zone=conn_zone:1m; limit_req_zone $binanry_remote_addr zone=req_zone:1m rate=1r/s; } server { ... location / { ... limit_conn conn_zone 1; limit_req zone=req_zone burst=3 nodelay; limit_req zone=req_zone burst=3; limit_req zone=req_zone; } }