Nginx 상용 모듈
1. ngx_http_autoindex_module
# ngx_http_autoindex_module (' / ') , 。
# , ngx_http_index_module , ngx_http_autoindex_module 。
`# Example
location / {
autoindex on;
}
`# 。
autoindex
# Syntax: autoindex on | off;
# Default: autoindex off;
# Context: http, server, location
`# HTML ,
autoindex_exact_size
# Syntax: autoindex_exact_size on | off;
# Default: autoindex_exact_size on;
# Context: http, server, location
`# 。
autoindex_format
# Syntax: autoindex_format html | xml | json | jsonp;
# Default: autoindex_format html;
# Context: http, server, location
# This directive appeared in version 1.7.9.
`# HTML , UTC 。
autoindex_localtime
# Syntax: autoindex_localtime on | off;
# Default: autoindex_localtime off;
# Context: http, server, location
2.ngx_http_access_module
# ngx_http_access_module 。
# 、 JWT 。 satisfy 。
`# Example
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
# , 。
# , IPv4 10.1.1.0/16 192.168.1.0/24, 192.168.1.1, IPv6 2001:0db8::/32。
# , ngx_http_geo_module 。
`# 。 unix:(1.5.1), unix 。
allow
# Syntax: allow address | CIDR | unix: | all;
# Default: —
# Context: http, server, location, limit_except
`# 。 unix:(1.5.1), unix
deny
# Syntax: deny address | CIDR | unix: | all;
# Default: —
# Context: http, server, location, limit_except
3.ngx_http_auth_basic_module
# ngx_http_auth_basic_module “HTTP ” , 。
# 、 JWT 。 satisfy 。
`# Example
location / {
auth_basic "closed site";
auth_basic_user_file conf/htpasswd;
}
`# “HTTP ” 。
`# 。 (1.3.10,1.2.7)。 off auth_basic 。
auth_basic
# Syntax: auth_basic string | off;
# Default: auth_basic off;
# Context: http, server, location, limit_except
`# ;
auth_basic_user_file
# Syntax: auth_basic_user_file file;
# Default: —
# Context: http, server, location, limit_except
`# Format password file
# comment
name1:password1
name2:password2:comment
name3:password3
`# Example
[root@web107 ~]# htpasswd -bc /etc/nginx/conf/htpasswd old 123
[root@web107 ~]# cat /etc/nginx/conf/htpasswd
old:$apr1$Bse9UVLa$rLFQhUf7Fdi0EtBvldov9.
4.ngx_http_core_module –>limit_rate –>limit_rate_after
#
# , ,
`# Example
map $slow $rate {
1 4k;
2 8k;
}
limit_rate $rate;
# $limit_rate
server {
if ($slow) {
set $limit_rate 4k;
}
...
}
# “X-Accel-Limit-Rate” 。
# proxy_ignore_headers、fastcgi_ignore_headers、uwsgi_ignore_headers scgi_ignore_headers 。
`# Example:
location /flv/ {
flv;
limit_rate_after 500k;
limit_rate 50k;
}
`# 。 。 。
`# , , 。
limit_rate
# Syntax: limit_rate rate;
# Default: limit_rate 0;
# Context: http, server, location, if in location
`# , , 。
limit_rate_after
# Syntax: limit_rate_after size;
# Default: limit_rate_after 0;
# Context: http, server, location, if in location
5.ngx_http_limit_req_module
# ngx_http_limit_req_module (0.7.21) , IP 。
# “ ” 。
`# Example
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
...
server {
...
location /search/ {
limit_req zone=one burst=5;
}
`# 。 , , 。
`# , , , 。 , 。
limit_req
# Syntax: limit_req zone=name [burst=number] [nodelay | delay=number];
# Default: —
# Context: http, server, location
`# ,
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /search/ {
limit_req zone=one burst=5;
}
# , 5 。
-------------------------------------------------------------------------------------------------------
$binary_remote_addr # remote_addr ,“binary_” , ip
zone=one:10m # 10M, one ,
rate=1r/s # , 1 ,
zone=one # , limit_req_zone name
burst=5 # ,burst , 5 ( ) ,
# , 5 , 503 。
-------------------------------------------------------------------------------------------------------
`# , nodelay:
limit_req zone=one burst=5 nodelay;
# delay (1.15.7) 。 , , 。
# delay , (burst + rate) , (burst + rate) 503,
# 。( rate :r/s)
# ,
-------------------------------------------------------------------------------------------------------
`# limit_req 。 , IP , :
limit_req_zone $binary_remote_addr zone=perip:10m rate=1r/s;
limit_req_zone $server_name zone=perserver:10m rate=10r/s;
server {
...
limit_req zone=perip burst=5 nodelay;
limit_req zone=perserver burst=10;
}
# limit_req , 。
`# 。 , , , , 。
limit_req_dry_run
# Syntax: limit_req_dry_run on | off;
# Default: limit_req_dry_run off;
# Context: http, server, location
`# 。
`# 1 ; , “limit_req_log_level ”, info 。
limit_req_log_level
# Syntax: limit_req_log_level info | notice | warn | error;
# Default: limit_req_log_level error;
# Context: http, server, location
`# 。
limit_req_status
# Syntax: limit_req_status code;
# Default: limit_req_status 503;
# Context: http, server, location
`# 。 , 。
`# 、 。 。
limit_req_zone
# Syntax: limit_req_zone key zone=name:size rate=rate [sync];
# Default: —
# Context: http
6.ngx_http_limit_conn_module
# ngx_http_limit_conn_module , IP 。
# 。 , 。
`# Example
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
...
server {
...
location /download/ {
limit_conn addr 1;
}
`# 。 , 。
limit_conn
# Syntax: limit_conn zone number;
# Default: —
# Context: http, server, location
`# ,
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
location /download/ {
limit_conn addr 1;
}
# IP 。
# HTTP/2 SPDY , 。
`# limit_conn 。 , IP , :
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server {
...
limit_conn perip 10;
limit_conn perserver 100;
}
# limit_conn , 。
`# 。
limit_conn_log_level
# Syntax: limit_conn_log_level info | notice | warn | error;
# Default: limit_conn_log_level error;
# Context: http, server, location
`# 。
limit_conn_status
# Syntax: limit_conn_status code;
# Default: limit_conn_status 503;
# Context: http, server, location
7.ngx_http_stub_status_module
# ngx_http_stub_status_module 。
# , ——with-http_stub_status_module 。
`# Example
location = /basic_status {
stub_status;
}
`# web , , :
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
# Active connections , 。
# accepts 。
# handled 。
# requests 。
# Reading 。
# Writing 。
# Waiting 。
`# 。
stub_status
# Syntax: stub_status;
# Default: —
# Context: server, location
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.