1? 概述
本文將介紹基于ip和用戶實現(xiàn)對網(wǎng)頁的訪問權(quán)限控制。通過ngx_http_access_module模塊實現(xiàn)基于ip的控制,ngx_http_auth_basic_module模塊實現(xiàn)基于用戶的控制
2? ngx_http_access_module模塊
實現(xiàn)基于ip的訪問控制功能
.1、allowaddress | CIDR | unix: | all;
.2、denyaddress | CIDR | unix: | all;
http, server, location, limit_except
自上而下檢查,一旦匹配,將生效,條件嚴(yán)格的置前,這個規(guī)則和iptables類似
.示例:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
3? ngx_http_auth_basic_module模塊
實現(xiàn)基于用戶的訪問控制,使用basic機制進行用戶認證
.1、auth_basics tring| off;
.2、auth_basic_user_file file;
location /admin/ {
auth_basic"Admin Area";
auth_basic_user_file? /etc/nginx/htpasswd;
}
.用戶口令兩種方法,建議直接用第二種方法,機密存放賬號和密碼。更加安全
1、明文文本:格式name:password:comment
2、加密文本:由htpasswd命令實現(xiàn)。以下命令創(chuàng)建了用戶http1。
htpasswd? -c? -m /etc/nginx/htpasswd http1
這樣,用http1這個賬號就可以登錄http://172.18.50.73/admin這個目錄。其中htpasswd這個工具是httpd-tools所提供
?