返回博客

在 Ubuntu 20.04 上使用 Nginx 配置基本 HTTP 身份验证

在 Ubuntu 20.04 上使用 Nginx 配置基本 HTTP 身份验证

Nginx 是一款免费、开源的 Web 服务器,用于 负载均衡、缓冲和缓存。自 2004 年问世以来,Nginx 因扩展 Web 服务器和反向代理而广受欢迎。由于其高性能和处理大量连接的卓越能力,它被用于管理和控制传入流量。

HTTP 身份验证是如何工作的?

基本 HTTP 身份验证 中,服务器上的所有路由都会被阻止,并需要相应的凭据进行身份验证。每当用户尝试访问受保护的资源时,服务器都会向用户发送一个 WWW-Authenticate 标头 和一个 401 Unauthorized 响应。如果用户使用的用户名和密码正确且与 密钥文件 匹配,则建立连接,否则拒绝连接。

在本教程中,我们将引导您完成 在 Ubuntu 20.04 上使用 Nginx 设置基本 HTTP 身份验证.

前提条件

要学习本教程,您需要满足以下条件:

步骤 1:更新软件源

在系统上安装任何新软件或 API 包之前,请刷新软件源以避免错误或任何包冲突。首先,我们将使用 更新软件sudo 命令:

现在我们已经更新了软件源,让我们安装必要的 apache2 包。

步骤 2:安装必要包

由于我们正在为目录设置 HTTP 身份验证,我们将使用 htpasswd 命令来创建加密密码。使用以下命令安装 apache2-utils 包

步骤 3:创建用户和密码

在此步骤中,我们将设置基本 HTTP 身份验证凭据。在根目录下,创建一个与用户关联的 .htpasswd 文件。密码将被加密,文件名可以任意选择。使用以下命令创建文件并添加带有加密密码的用户:

User and Password

接下来,使用以下命令验证新创建的文件:

newly-created file

步骤 4:更新 Nginx 配置

一旦我们有了 HTTP 基本身份验证凭据,让我们设置 Nginx 并将其用于我们的目标网站。我们需要 auth_basicauth_basic_user_file 指令来建立 HTTP 基本身份验证。 auth_basic 指令的值是字符串格式,而 auth_basic_user_file 的值是在 步骤 3.

中创建的密码文件的路径。将这两个指令包含在目标网站的配置文件中非常重要。您可以在 /etc/nginx/sites-available 目录中找到目标网站的位置。使用 nano 编辑器打开配置文件:

然后,在 location 部分下添加这两个指令:

添加指令后,保存并关闭配置文件。

步骤 5:重启 Nginx

接下来,重新加载或重启 Nginx 服务以在我们的虚拟主机上应用更改。之后,我们将尝试使用我们的基本 HTTP 身份验证来访问受保护的域名。使用以下命令激活 Nginx 服务:

步骤 6:安全 Web 访问

重启 Nginx 后,下一步是尝试在您最喜欢的浏览器中访问该 IP 地址或域名。在浏览器中点击 IP 地址 http://your_domain_name/ 后,将打开一个提示,要求您输入凭据进行身份验证。输入正确的用户名和密码后,您将看到默认的 Nginx 主页。

结论

在本教程中,我们学习了如何使用 Nginx 配置基本 HTTP 身份验证。基本的用户名/密码身份验证只是在 Nginx 中建立安全连接的众多身份验证选项之一。

还有其他用于服务器身份验证的强大选项。例如,您可以使用的一些常用方法包括 API 集成、JSON Web Token、基于 SSH 密钥的身份验证。尽管最初获得强大的安全机制可能看起来很棘手,但它们在保护您的隐私方面非常有效。

此外,您还可以从我们的博客访问许多其他关于 Nginx 的学习资料和教程:

祝您计算愉快!

author

Shreyas Patil

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。