Nginx 之 基於ip和用戶的控制

1  概述

本文將介紹基於ip和用戶實現對網頁的訪問權限控制。通過ngx_http_access_module模塊實現基於ip的控制,ngx_http_auth_basic_module模塊實現基於用戶的控制

2  ngx_http_access_module模塊

實現基於ip的訪問控制功能

.1allowaddress | CIDR | unix: | all;

.2denyaddress | CIDR | unix: | all;

http, server, location, limit_except

自上而下檢查,一旦匹配,將生效,條件嚴格的置前,這個規則和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模塊

實現基於用戶的訪問控制,使用basic機制進行用戶認證

.1auth_basics tring| off;

.2auth_basic_user_file file;

location /admin/ {
auth_basic"Admin Area";
auth_basic_user_file  /etc/nginx/htpasswd;
}

.用戶口令兩種方法,建議直接用第二種方法,機密存放賬號和密碼。更加安全

1、明文文本:格式name:password:comment

2、加密文本:由htpasswd命令實現。以下命令創建了用戶http1。

htpasswd  -c  -m /etc/nginx/htpasswd http1

這樣,用http1這個賬號就可以登錄http://172.18.50.73/admin這個目錄。其中htpasswd這個工具是httpd-tools所提供


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章