第1步 - 安装Apache Tools
需要htpassword命令来配置将限制对目标网站的访问的密码。此命令是apache2-utils程序包的一部分,因此第一步是安装该程序包。
1 |
sudo apt-get install apache2-utils |
步骤2 - 设置HTTP基本身份验证凭据
在此步骤中,运行网站的用户创建密码。
该密码和关联的用户名将存储在指定的文件中。密码将被加密,文件名可以是任何名称。在这里,我们使用文件/etc/nginx/.htpasswd和用户名nginx。
要创建密码,请运行以下命令。需要进行身份验证,然后指定并确认密码。
1 |
sudo htpasswd -c /etc/nginx/.htpasswd nginx |
检查新创建的文件的内容以查看用户名和散列密码。
1 |
cat /etc/nginx/.htpasswd |
1 |
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/ |
第3步 - 更新Nginx配置
已经创建了HTTP基本身份验证凭据,下一步是更新目标网站的Nginx配置以使用它。
auth_basic和auth_basic_user_file指令使HTTP基本认证成为可能。值为auth_basic任意字符串,将在身份验证提示下显示; value auth_basic_user_file是在步骤2中创建的密码文件的路径。
两个指令都应该位于目标网站的配置文件中,目标网站通常位于/etc/nginx/sites-available目录中。使用nano或您喜欢的文本编辑器打开该文件
1 |
sudo nano /etc/nginx/sites-available/default |
在location部分下,添加两个指令:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
第4步 - 测试安装程序
要应用更改,请先重新加载Nginx
1 |
sudo service nginx -s reload |