共享的目录中,有的内容不适合公开,所以我们就要做一个用户验证来让该目录只能被授权的用户访问。
OS: Ubuntu 16.04
第一步
方法一
首先安装 apache2-utils
用以创建 .htaccess 文件 (如果你不想用Apache的东西生成,请跳到 方法二)
sudo apt-get install apache2-utils
安装成功后执行
htpasswd -c /usr/local/nginx/conf/vhost/.htaccess [username]
在这里注意将文件位置及用户名改成你想要的,回车以后会让输入密码并确认,完成后就生成了我们需要的 .htaccess 文件辣w
方法二
首先创建认证文件
sudo sh -c "echo -n '[username]:' >> /usr/local/nginx/conf/vhost/.htpasswd"
注意把 [username] 替换成你想要的用户名
然后用 openssl 生成密码
sudo sh -c "openssl passwd -apr1 >> /usr/local/nginx/conf/vhost/.htpasswd"
回车以后会让输入密码并确认。
第二步
接下来打开 Nginx Vhost 配置文件,并在文件内加入
location /baka/
{
auth_basic "Nyaa~";
#如果你用的是方法二,请把 .htaccess 换成 .htpasswd
auth_basic_user_file /usr/local/nginx/conf/vhost/.htaccess;
}
注意将 location
后面的目录, 成你想要设置认证的目录, auth_basic_user_file
为之前生成 .htaccess (.htpasswd) 文件的位置。
保存配置文件,重启nginx
service nginx restart
嗯,就是这样了。
参考资料:How To Set Up Password Authentication with Nginx on Ubuntu 14.04