Nginx之10靈犀一指

什麼是訪問認證

當我們網站對互聯網開放時,但又想只有部分有權限的人才能進行訪問。這是我們可以採用用戶認證的方式進行限制,Nginx中提供了ngx_http_auth_basic_module模塊來進行處理這項工作,此模塊Nginx默認已經安裝。

如何配置訪問認證

<code>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; } }/<code>

Nginx basic auth 語法

<code>語法: auth_basic <string>默認值: off配置段: http, server, location, limit_except語法: auth_basic_user_file <file>;默認值: null配置段: http, server, location, limit_except用戶密碼文件,文件內容類似如下:user1:password1user2:password2:comment/<file>/<string>/<code>

創建用戶時,會提示輸入密碼

<code>htpasswd -c /usr/local/nginx/auth/htpasswd <username>/<code>

如果沒有此命令時可以通過yum安裝

<code>yum -y install httpd-tools/<code>

小知識

一般對於需要控制用戶訪問的場景,可以配置allow及deny指定進行配合使用。

<code>allow: 允許單個IP地址或者IP地址段訪問語法: allow address | CIDR | unix: | all;默認值: null配置段: http, server, location, limit_exceptdeny: 拒絕單個IP地址或者IP地址段訪問語法: deny address | CIDR | unix: | all;默認值: null/<code>