在使用nginx转发的时候,要进行一次用户身份的确认。
1)通过htpasswd命令生成用户名及对应密码数据库文件
[root@localhost]# htpasswd -c /usr/local/nginx/passwd.db zutnlp //创建认证信息,zutnlp 为认证用户名
New password: ******* //输入认证密码
Re-type new password: ******** //再次输入认证密码
Adding password for user zutnlp
[root@localhost]# chmod 755 /usr/local/nginx/passwd.db //修改网站认证数据库权限
[root@localhost]# chown root:root /usr/local/nginx/passwd.db //修改网站认证数据库属主和属组
[root@localhost]# cat /usr/local/nginx/passwd.db //可以看到通过htpasswd生成的密码为加密格式
wyl:r3IXSXWSmlBk6
htpasswd是Apache下面的命令,如果没有安装Apache可以利用在线工具生成
如:http://tool.oschina.net/htpasswd
生成好后编辑文件,将结果写入文件
vim /usr/local/nginx/passwd.db
2)编辑虚拟主机配置文件。
[root@localhost]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下语句
server {
listen 8090;
server_name localhost;
client_max_body_size 151m;
location / {
auth_basic "s1"; #虚拟主机认证命名
auth_basic_user_file /usr/local/nginx/passwd.db; #虚拟主机用户名密码认证数据库
#proxy_pass http://10.0.0.10:9011; #nginx 访问
root html;
index index.html index.htm;
}
}