天天看點

Nginx之10靈犀一指 - (通路認證)

什麼是通路認證

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

Nginx之10靈犀一指 - (通路認證)

如何配置通路認證

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           

繼續閱讀