最近我们Sinesafe在处理nginx+php+mysql架构的客户网站安全方面要配置后台的二级密码访问验证处理过程中要用到nginx的配置来完成这个二级密码的设置安全部署。
下面由我来简要说一下在nginx配置服务中,创建访问网站密码认证的方法。
1)需要ngx_http_auth_basic_module模块
语法:
Syntax:auth_basicstring| off;Default:auth_basicoff;Context:http,server,location,limit_except
默认是关闭的,使用位置在http,server,location标签。
2)例子:
location/ { auth_basic"closed site"; auth_basic_user_file conf/htpasswd;}
3)首先配置出保存用户和密码的文件htpasswd
使用htpasswd命令进行创建登录用户和密码
参数:
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 htpasswd2 /usr/bin/which: no htpasswd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
b、安装htpasswd命令
[root@oldboy nginx]# yum install http -y
c、使用htpasswd命令创建密码文件htpasswd
1 [root@oldboy nginx]# htpasswd -cb /application/nginx/conf/htpasswd taili01 1234562 Adding password for user taili01
d、在原文件htpasswd中增加新的用户
1 [root@oldboy nginx]# htpasswd -b ./htpasswd taili02 1234562 Adding password for user taili02
e、查看htpasswd文件内容
1 [root@oldboy nginx]# cat ./htpasswd 2 taili01:ZCN8EXnjt3OYY3 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 {16listen80;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 500502503504 /50x.html;26 location = /50x.html {27 root html;28 }29 }30 }
5)访问网站
如果有错误,欢迎各位网友指导。 另外喜欢的话,给个点赞呗,谢谢!
网友评论
最新评论
gs/error.log; 7 http { 8 include mime.types; 9 default_type application/octet-stream;10 sendfile on;11 log_format main '$remote_addr -