在nginx配置服務中,建立訪問網站密碼認證。html
1)須要ngx_http_auth_basic_module模塊nginx
語法:算法
Syntax: auth_basic string | off; Default: auth_basic off; Context: http, server, location, limit_except
默認是關閉的,使用位置在http,server,location標籤。vim
2)例子:app
location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; }
3)首先配置出保存用戶和密碼的文件htpasswd網站
使用htpasswd命令進行建立登陸用戶和密碼加密
參數:spa
1 -c:建立一個加密文件; 2 -n:不更新加密文件,只將加密後的用戶名密碼顯示在屏幕上; 3 -m:默認採用MD5算法對密碼進行加密; 4 -d:採用CRYPT算法對密碼進行加密; 5 -p:不對密碼進行進行加密,即明文密碼; 6 -s:採用SHA算法對密碼進行加密; 7 -b:在命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼; 8 -D:刪除指定的用戶。
a、查看系統是否安裝了htpasswd命令命令行
1 root@oldboy nginx]# which htpasswd 2 /usr/bin/which: no htpasswd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
b、安裝htpasswd命令code
[root@oldboy nginx]# yum install http -y
c、使用htpasswd命令建立密碼文件htpasswd
1 [root@oldboy nginx]# htpasswd -cb /application/nginx/conf/htpasswd taili01 123456 2 Adding password for user taili01
d、在原文件htpasswd中增長新的用戶
1 [root@oldboy nginx]# htpasswd -b ./htpasswd taili02 123456 2 Adding password for user taili02
e、查看htpasswd文件內容
1 [root@oldboy nginx]# cat ./htpasswd 2 taili01:ZCN8EXnjt3OYY 3 taili02:lDJrLzZuwxh/g
4)配置nginx.conf文件
1 [root@oldboy conf]# vim nginx.conf 2 worker_processes 1; 3 events { 4 worker_connections 1024; 5 } 6 error_log logs/error.log; 7 http { 8 include mime.types; 9 default_type application/octet-stream; 10 sendfile on; 11 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 12 '$status $body_bytes_sent "$http_referer" ' 13 '"$http_user_agent" "$http_x_forwarded_for"'; 14 keepalive_timeout 65; 15 server { 16 listen 80; 17 server_name www.sandy.com; 18 location / { 19 root html/www; 20 index index.html index.htm; 21 auth_basic "This is input password"; 22 auth_basic_user_file conf/htpasswd; 23 } 24 access_log logs/host.access.log main; 25 error_page 500 502 503 504 /50x.html; 26 location = /50x.html { 27 root html; 28 } 29 } 30 }
5)訪問網站