前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上使用Nginx设置基本HTTP身份验证

如何在Ubuntu 14.04上使用Nginx设置基本HTTP身份验证

原创
作者头像
司徒永哥
修改2018-10-22 11:40:43
1.1K0
修改2018-10-22 11:40:43
举报

介绍

Nginx是主动使用的领先Web服务器之一。它及其商业版Nginx Plus由Nginx,Inc。开发。

在本教程中,您将学习如何使用Ubuntu 14.04上的HTTP基本身份验证方法限制对基于Nginx的网站的访问。HTTP基本身份验证是一种简单的用户名和(哈希)密码身份验证方法。

准备

要完成本教程,您需要以下内容:

  • 一台已经设置好可以使用sudo命令的非root账号的Ubuntu 14.04 服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 在服务器上安装和配置Nginx。

第1步 - 安装Apache Tools

您将需要该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配置以使用它。

auth_basicauth_basic_user_file指令使HTTP基本认证成为可能。值为auth_basic任意字符串,将在身份验证提示下显示; value auth_basic_user_file是在步骤2中创建的密码文件的路径。

两个指令都应该位于目标网站的配置文件中,目标网站通常位于/etc/nginx/sites-available目录中。使用nano或您喜欢的文本编辑器打开该文件。

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

location部分下,添加两个指令:

. . .
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的文档

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Set Up Basic HTTP Authentication With Nginx on Ubuntu 14.04》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 第1步 - 安装Apache Tools
        • 步骤2 - 设置HTTP基本身份验证凭据
          • 第3步 - 更新Nginx配置
            • 第4步 - 测试安装程序
              • 结论
              相关产品与服务
              多因子身份认证
              多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档