在企业中有时候需要为网站进行进行权限控制。
配置示例:
location / {
auth_basic "closed web site";
auth_basic_user_file conf/httppasswd;
}
auth_basic参数:设置认证提示信息
语法:auth_basic 字符串|off;
默认值是off。
auth_basic_user_file参数:设置密码文件位置
语法:auth_basic_user_file 文件;
使用位置:http server location limit_except
auth_basic_user_file后面的密码文件格式:
name:password
name:password:comment
可以使用Apache自带的htpasswd或openssl__passwd命令设置用户名和密码到认证文件,密码是加密的。
(1)修改配置文件:
vim /application/nginx/extra/www.conf
server {
listen 192.168.30.3;
server_name www.smartbro.com;
location / {
root html/www;
index index.html index.htm;
}
auth_basic "Warning!\nThis is a Web site!";
auth_basic_user_file conf/httppasswd;
access_log logs/access_www.log main;
}
(2)获取htpasswd设置账号和密码:
yum install httpd -y
which htpasswd
/usr/bin/htpasswd
htpasswd -bc /application/nginx/conf/httppasswd xvge 123456
Adding password for user xvge
chmod 400 /application/nginx/conf/httppasswd
chown nginx /application/nginx/conf/httppasswd
cat /application/nginx/conf/httppasswd
xvge:aSXo3DDHqRKB2
/application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.13.4//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.13.4//conf/nginx.conf test is successful
/application/nginx/sbin/nginx -s reload
Nginx相关问题解答:
访问Nginx的时候会出现“403 forbidden”:
Nginx配置文件没有主页参数文件,或者站点根目录下没有内容。
可以采用autoindex on;参数添加到location中,当找不到首页的时候会展示目录结构。
站点目录或内部的程序文件没有Nginx用户访问权限。
文件中使用了allow和deny进行权限的控制。