什麼是通路認證
當我們網站對網際網路開放時,但又想隻有部分有權限的人才能進行通路。這是我們可以采用使用者認證的方式進行限制,Nginx中提供了ngx_http_auth_basic_module子產品來進行處理這項工作,此子產品Nginx預設已經安裝。

如何配置通路認證
server {
listen 80;
server_name nginx.yekangming.com;
auth_basic "Restricted Access";
auth_basic_user_file /usr/local/nginx/auth/htpasswd;
location / {
root /data/webroot/nginx;
index index.html;
}
}
Nginx basic auth 文法
文法: auth_basic <string | off>
預設值: off
配置段: http, server, location, limit_except
文法: auth_basic_user_file <file>;
預設值: null
配置段: http, server, location, limit_except
使用者密碼檔案,檔案内容類似如下:
user1:password1
user2:password2:comment
建立使用者時,會提示輸入密碼
htpasswd -c /usr/local/nginx/auth/htpasswd <userName>
如果沒有此指令時可以通過yum安裝
yum -y install httpd-tools
小知識
一般對于需要控制使用者通路的場景,可以配置allow及deny指定進行配合使用。
allow: 允許單個IP位址或者IP位址段通路
文法: allow address | CIDR | unix: | all;
預設值: null
配置段: http, server, location, limit_except
deny: 拒絕單個IP位址或者IP位址段通路
文法: deny address | CIDR | unix: | all;
預設值: null