ngx_http_access_module
- ngx_http_access_module模塊
實(shí)現(xiàn)基于ip的訪問控制功能
1泳赋、allow address | CIDR | unix: | all;
2诫惭、deny address | CIDR | unix: | all;
http,server,location,limit_expect
自上而下檢查毛雇,一旦匹配锭吨,將生效,條件嚴(yán)格的置前
示例:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
ngx_http_auth_basic_module
- ngx_http_auth_basic_module模塊
實(shí)現(xiàn)基于用戶的訪問控制冰木,使用basic機(jī)制進(jìn)行用戶認(rèn)證
1饼丘、auth_basic string | off;
2、auth_basic_user_file file;
location /admin/ {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.ngxpasswd;
}
用戶口令文件:
1仑最、明文文本:格式name:password:comment
2扔役、加密文本:由htppasswd命令實(shí)現(xiàn)
httpd-tools所提供
放在server那里就是整個(gè)網(wǎng)站都需要認(rèn)證,放在location里面就是特定目錄需要認(rèn)證
ngx_http_stub_status_module
- ngx_http_stub_status_module模塊
用于輸出nginx的基本狀態(tài)信息
輸出信息示例:
Active connections:291
server accepts handled requests
16630948 16630948 31070465 ---3個(gè)數(shù)字分別對應(yīng)accepts警医,handled厅目,requests三個(gè)值
Reading: 6 Writing: 179 Waiting: 106
Active connections:當(dāng)前狀態(tài),活動(dòng)狀態(tài)的連接數(shù)
accepts:統(tǒng)計(jì)總值,已經(jīng)接受的客戶端請求的總數(shù)
handled:統(tǒng)計(jì)總值损敷,已經(jīng)處理完成的客戶端請求的總數(shù)
requests:統(tǒng)計(jì)總值,客戶端發(fā)來的總的請求數(shù)
Reading:當(dāng)前狀態(tài)深啤,正在讀取客戶端請求報(bào)文首部的連接的連接數(shù)
Writing:當(dāng)前狀態(tài)拗馒,正在向客戶端發(fā)送響應(yīng)報(bào)文過程中的連接數(shù)
Waiting:當(dāng)前狀態(tài),正在等待客戶端發(fā)出請求的空閑連接數(shù)
1溯街、stub_status;
示例:
location /status {
stub_status;
allow 172.16.0.0/16;
deny all;
}
ngx_http_log_module
- ngx_http_log_module模塊
指定日志格式記錄請求
1诱桂、log_format name string ...;
string可以使用nginx核心模塊及其它模塊內(nèi)嵌的變量
注意:log_format要在http那里定義
2、access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=conditino]];
access_log off;
訪問日志文件路徑呈昔,格式及相關(guān)的緩沖的配置
buffer=size
flush=time
示例:
log_format compression '$remote_addr-$remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
access_log /spool/logs/nginx-access.log compression buffer=32k; ---buffer在測試環(huán)境不要用挥等,因?yàn)橐胚M(jìn)緩存等一段時(shí)間才能看到
3、open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];
open_log_file_cache off;
緩存各日志文件相關(guān)的元數(shù)據(jù)信息
max:緩存的最大文件描述符數(shù)量
min_uses:在inactive指定的時(shí)長內(nèi)訪問大于等于此值方可被當(dāng)作活動(dòng)項(xiàng)
inactive:非活動(dòng)時(shí)長
valid:驗(yàn)證緩存中各緩存項(xiàng)是否為活動(dòng)項(xiàng)的時(shí)間間隔
ngx_http_gzip_module
- ngx_http_gzip_module
用gzip方法壓縮響應(yīng)數(shù)據(jù)堤尾,節(jié)約帶寬
1肝劲、gzip on | off;
啟用或禁用gzip壓縮
2、gzip_comp_level level;
壓縮比由低到高:1到9
默認(rèn):1
3郭宝、gzip_disable regex ...;
匹配到客戶端瀏覽器不執(zhí)行壓縮
4辞槐、gzip_min_length length;
啟用壓縮功能的響應(yīng)報(bào)文大小閾值
5、gzip_http_version 1.0 | 1.1;
設(shè)定啟用壓縮功能時(shí)粘室,協(xié)議的最小版本
默認(rèn):1.1
6榄檬、gzip_buffers number size;
支持實(shí)現(xiàn)壓縮功能時(shí)緩沖區(qū)數(shù)量及每個(gè)緩存區(qū)的大小
默認(rèn):32 4k 或 16 8k
7、gzip_types mime-type ...;
指明僅對哪些類型的資源執(zhí)行壓縮操作衔统;即壓縮過濾器
默認(rèn)包含有text/html鹿榜,不用顯示指定,否則出錯(cuò)
8锦爵、gzip_vary on | off;
如果啟用壓縮舱殿,是否在響應(yīng)報(bào)文首部插入“Vary:Accept-Encoding”
9、gzip_proxied off | expired | on-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
nginx充當(dāng)代理服務(wù)器時(shí)棉浸,對于后端服務(wù)器的響應(yīng)報(bào)文怀薛,在何種條件下啟用壓縮功能
off:不啟用壓縮
expired,no-cache迷郑,no-store枝恋,private:對后端服務(wù)器的響應(yīng)報(bào)文首部Cache-Control值任何一個(gè),啟用壓縮功能
示例:
gzip on;
gzip_comp_level 6;
gzip_min_length 64;
gzip_proxied any;
gzip_types text/xml text/css application/javascript;
curl -I compressed http://www.a.com ---不加compressed默認(rèn)不壓縮嗡害,壓縮了的話有提示gzip
ngx_http_ssl_module
ngx_http_ssl_module模塊:
1焚碌、ssl on | off;
為指定虛擬機(jī)啟用HTTPS protocol,建議用listen指令代替
2霸妹、ssl_certificate file;
當(dāng)前虛擬主機(jī)使用PEM格式的證書文件
3十电、ssl_certificate_key file;
當(dāng)前虛擬主機(jī)上與其證書匹配的私鑰文件
4、ssl_protocols [SSLv2] [SSLv3] [TLSv1.1] [TLSv1.2];支持ssl協(xié)議版本鹃骂,默認(rèn)為后三個(gè)
5台盯、ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
none:通知客戶端支持ssl session cache,但實(shí)際不支持
builtin[:size]:使用OpenSSL內(nèi)建緩存畏线,為每worker進(jìn)程私有
[shared:name:size]:在各worker之間使用一個(gè)共享的緩存