1. 程式人生 > >Nginx其他模組配置語法

Nginx其他模組配置語法

#Nginx請求限制
#limit_conn_module 連線頻率限制
#定義:
Syntax: limit_conn_zone key zone=name:size;
Default: ——
Context:http
#使用:
Syntax: limit_conn zone number;
Default: ——;
Context:http,server,location


#limit_req_module 請求頻率限制

#定義
Syntax: limit_req_zone key zone=name:size rate=rate;
Default: ——
Context:http
#使用
Syntax: limit_req zone  [burst=number][nodekay];
Default: ——
Context:http,server,location

#例:
#定義連線頻率限制  客戶端ip地址  名字:大小
#limit_conn_zone $binary_remote_addr zone=conn_zone:1m; 
#定義請求頻率限制  客戶端ip地址  名字:大小 速率
#limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
# location / {
#        root /opt/app/code;
#        limit_conn conn_zone 1;
#                                  burst=3 超過請求個數,遺留3個請求到下一秒請求 nodelay:其他直接返回 
#        #limit_req zone=req_zone burst=3 nodelay;
#        #limit_req zone=req_zone burst=3;
#        #limit_req zone=req_zone; 
#        index  index.html index.htm;
#    }

#-----------------------------------------------------------------------------------------
#Nginx訪問控制
#-http_access_module 基於IP的訪問控制
#允許配置
Syntax: allow address|CIDR|unix:|all;
Default: ——
Context:http,server,location,limit_except;

#禁止配置
Syntax: deny address|CIDR|unix:|all;
Default: ——
Context:http,server,location,limit_except;


#例1禁止222.128.189.17:
#    location ~ ^/admin.html {
#        root   /opt/app/code;
#        deny 222.128.189.17;
#        allow all;
#        index  index.html index.htm;
#    }

#例2只允許222.128.189.0/24:
#
# location ~ ^/admin.html {
#        root   /opt/app/code;
#        allow 222.128.189.0/24;
#        deny all;
#        index  index.html index.htm;
#    }

#http_auth_basic_module侷限性
#方法一、採用別的HTTP頭資訊控制訪問,如http_x_forward_for
#方法二、結合geo模組
#方法三、通過HTTP自定義變數傳遞


#-http_auth_basic_module 基於使用者的信任登入
#配置
Syntax: auto_basic string|off;
Default: auto_basic off;
Context:server,location,limit_except;

Syntax: auto_basic_user_file file;
Default: ——
Context:http,server,location,limit_except;

#使用步驟:
#1.生成使用者名稱密碼配置檔案 :htpasswd -c ./auth_conf name
#2.配置:
#       location ~ ^/index1.html {
#      root   /usr/share/nginx/html;
#        提示資訊
#      auth_basic "Auth access test!";
#        密碼檔案
#      auth_basic_user_file /etc/nginx/auth_conf; 
#      index  index.html index.htm;
#   }


#http_auth_basic_module侷限性
#1.使用者資訊依依賴檔案方式
#2.操作管理機械,效率低下
#解決方案
#.Nginx結合LUA實現高效驗證
#.Nginx和LDAP打通,利用nginx-auth-ldap模組