介绍
Nginx是主动使用的领先的Web服务器之一。 它和它的商业版本,Nginx Plus,是由Nginx公司开发的
在本教程中,您将了解如何使用Ubuntu 14.04上的HTTP基本身份验证方法限制对Nginx支持的网站的访问。 HTTP基本认证是一种简单的用户名和(哈希)密码认证方法。
先决条件
要完成本教程,您需要以下内容:
第1步 - 安装Apache工具
你需要的htpassword
命令配置将限制访问目标网站的密码。 此命令是一部分apache2-utils
包,所以第一步是安装包。
sudo apt-get install apache2-utils
第2步 - 设置HTTP基本身份验证凭据
在此步骤中,您将为运行网站的用户创建密码。
该密码和关联的用户名将存储在您指定的文件中。 密码将被加密,文件的名称可以是任何你喜欢的。 在这里,我们使用的文件/etc/nginx/.htpasswd
和用户名Nginx的 。
要创建密码,请运行以下命令。 您需要进行身份验证,然后指定并确认密码。
sudo htpasswd -c /etc/nginx/.htpasswd nginx
您可以检查新创建的文件的内容,以查看用户名和散列密码。
cat /etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/
第3步 - 更新Nginx配置
现在您已经创建了HTTP基本认证凭据,下一步是更新目标网站的Nginx配置以使用它。
HTTP基本身份验证是由成为可能auth_basic
和auth_basic_user_file
指令。 价值auth_basic
是任何字符串,并会在认证提示显示; 价值auth_basic_user_file
是路径到在第2步中创建密码文件。
这两个指令应该是目标网站,它通常坐落在配置文件中/etc/nginx/sites-available
目录。 使用打开文件nano
或您喜爱的文本编辑器。
sudo nano /etc/nginx/sites-available/default
根据该位置部分,添加这两个指令:
. . .
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。
sudo service nginx reload
现在尝试去访问你刚才担保的网站上http:// your_server_ip /
在你喜欢的浏览器。 你应该有一个身份验证窗口(其中写着“私有财产”,为我们设定的字符串提交auth_basic
),你将无法直到输入正确的凭据访问该网站。 如果输入您设置的用户名和密码,您将看到默认的Nginx主页。
结论
您刚刚完成了对Nginx网站的基本访问限制。 关于这项技术和访问限制等手段更多信息,请Nginx的文档中 。