如何建立基本的HTTP认证nginx的在Ubuntu 14.04

介绍

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
示例/etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/

第3步 - 更新Nginx配置

现在您已经创建了HTTP基本认证凭据,下一步是更新目标网站的Nginx配置以使用它。

HTTP基本身份验证是由成为可能auth_basicauth_basic_user_file指令。 价值auth_basic是任何字符串,并会在认证提示显示; 价值auth_basic_user_file是路径到在第2步中创建密码文件。

这两个指令应该是目标网站,它通常坐落在配置文件中/etc/nginx/sites-available目录。 使用打开文件nano或您喜爱的文本编辑器。

sudo nano /etc/nginx/sites-available/default

根据该位置部分,添加这两个指令:

/etc/nginx/sites-available/default.conf
. . .
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的文档中

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏