nginx有很多模組配置,包括官方模組和第三方模組。
- http_stub_status_modules配置
Syntax:stub_status
Default:–
Context:server,location
例如:
server {
...
location /mystatus {
stub_status;
}
}
- random_index_module展示隨機的首頁
Syntax:random_index on | off
Default:random_index off
Context:location
server {
...
location / {
root /opt/app/code;
random_index on;
}
}
- http_sub_module html內容替換,只能替換第一個
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; // 全部替換
}
}
- Nginx的請求限制
連線頻率限制:limit_conn_module
請求頻率限制:limit_req_module
連線限制:
Syntax:limit_conn_zone key zone=name:size;
Default:–
Context:http
Syntax:limit_conn zone number;// 需要基於limit_conn_zone
Default:–
Context:http,server,location
請求限制:
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;
}
}