Nginx开启http基本认证

Nginx中的ngx_http_auth_basic_module模块容许经过验证用户名和密码对资源进行访问控制,默认状况下nginx已经安装了ngx_http_auth_basic_module模块,若是不须要这个模块,能够在编译时加上 --without-http_auth_basic_modulehtml

 

nginx basic auth指令nginx


语法:    auth_basic string | off;
默认值:  auth_basic off;
配置段:  http, server, location, limit_except
默认表示不开启认证,后面若是跟上字符,这些字符会在弹窗中显示。app


语法:     auth_basic_user_file file;
默认值:    —
配置段:   http, server, location, limit_except
指定一个文件,保存用户名和密码,文件内容格式:用户名:加密后的密码ide

 

配置实例:加密

nginx中增长配置:.net

 server {
        listen 80;
        server_name  www.yujia.com yujia.com;
        root         /app/html/www;
        index        index.html;
        auth_basic "secret";
        auth_basic_user_file /usr/local/nginx/passwd.db;
            }
server

生成密码,能够使用htpasswd或openssl:htm

方法一:htpasswd -cb  /usr/local/nginx/passwd.db yujia 123456  第一次添加的时候能够使用-c生成密码文件,第二次添加用户密码的时候千万不要使用-c参数,使用-b便可,不然会覆盖原来的密码文件,再建立一个新的密码文件ssl

方法二:echo "yujia:$(openssl passwd -crypt 123456)" >> /usr/local/nginx/passwd.db资源

若是两个命令都没有,也可以使用http://tool.oschina.net/htpasswd在线生成

 

重启nginx生效:nginx -s reload

相关文章
相关标签/搜索