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

金钱(警告)

** 状态:** 被贬值

此文章已被删除,不再保留。

理由

Nginx 身份验证内容已更新和整合。

相反,看

本文可能仍然有用作为参考,但可能无法工作或遵循最佳实践. 我们强烈建议使用最近为您正在使用的操作系统撰写的一篇文章。

  • [如何在Ubuntu 22.04 上使用 Nginx 设置密码身份验证(https://andsky.com/tech/tutorials/how-to-set-up-password-authentication-with-nginx-on-ubuntu-22-04)

美元

介绍

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

在本教程中,您将学习如何使用 Ubuntu 14.04 上的 HTTP 基本身份验证方法限制访问 Nginx 驱动的网站。

前提条件

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

步骤1:安装Apache工具

您将需要htpassword命令来配置该密码,以限制访问目标网站. 此命令是apache2-utils包的一部分,所以第一步是安装该包。

1sudo apt-get install apache2-utils

步骤 2:设置基本的 HTTP 身份验证凭证

在此步骤中,您将为运行网站的用户创建密码。

该密码和相关的用户名将存储在您指定的文件中。密码将被加密,文件的名称可以是您想要的任何东西。

要创建密码,运行以下命令. 您需要验证,然后指定并确认密码。

1sudo htpasswd -c /etc/nginx/.htpasswd nginx

您可以检查新创建的文件的内容,查看用户名和哈希密码。

1cat /etc/nginx/.htpasswd
1[label Example /etc/nginx/.htpasswd]
2nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/

第3步:更新 Nginx 配置

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

HTTP 基本身份验证是通过 auth_basicauth_basic_user_file 指令实现的. auth_basic 的值是任何字符串,并将在身份验证提示中显示; auth_basic_user_file 的值是在步骤 2 中创建的密码文件的路径。

这两个指令都应该在目标网站的配置文件中,通常位于/etc/nginx/sites-available目录中。

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

位置部分中,添加两个指令:

 1[label /etc/nginx/sites-available/default.conf]
 2. . .
 3server_name localhost;
 4
 5location / {
 6        # First attempt to serve request as file, then
 7        # as directory, then fall back to displaying a 404.
 8        try_files $uri $uri/ =404;
 9        # Uncomment to enable naxsi on this location
10        # include /etc/nginx/naxsi.rules
11        auth_basic "Private Property";
12        auth_basic_user_file /etc/nginx/.htpasswd;
13}
14. . .

保存并关闭文件。

步骤 4 – 测试设置

要应用这些更改,请先重新加载 Nginx。

1sudo service nginx reload

现在尝试访问您刚刚通过在您最喜欢的浏览器中访问http://your_server_ip/的网站,您应该提供一个身份验证窗口(它说私有财产,我们为auth_basic设置的字符串),并且您将无法访问网站,直到您输入正确的凭证。 如果您输入您设置的用户名和密码,您将看到默认的Nginx主页。

结论

您刚刚完成了 Nginx 网站的基本访问限制。 有关此技术和其他访问限制手段的更多信息可在 Nginx 文档中找到(https://www.nginx.com/resources/admin-guide/restricting-access/)。

Published At
Categories with 技术
comments powered by Disqus