金钱(警告)
** 状态:** 被贬值
此文章已被删除,不再保留。
理由
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 驱动的网站。
前提条件
要完成本教程,您将需要以下内容:
- 一个 Ubuntu 14.04 Droplet 与一个 sudo 非 root 用户,您可以通过遵循 本初始服务器设置教程来设置。
- Nginx 安装并配置在您的服务器上,您可以通过遵循 本 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_basic
和 auth_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/)。