刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
配置 Nginx 的基本认证(HTTP Basic Authentication)可以通过 auth_basic
指令和 auth_basic_user_file
指令来实现。下面是一个简单的步骤指南,用于设置一个受保护的目录或页面。
首先,你需要安装 htpasswd
工具,它通常包含在 Apache HTTP Server 包中,即使你使用的是 Nginx。htpasswd
用来创建和更新存储用户名和密码的文件。
sudo apt-get install apache2-utils
sudo yum install httpd-tools
接下来,使用 htpasswd
创建一个新的用户,并将其添加到密码文件中。这个文件可以放在任何安全的位置,但不要将其放在 Web 可访问的目录下。按下回车,会提示设置密码。
sudo htpasswd -c /etc/nginx/.htpasswd username
-c
参数表示创建新文件,如果你要添加更多用户,后续添加时请去掉 -c
参数。
编辑你的 Nginx 服务器配置文件,通常位于 /etc/nginx/sites-available/default
或 /etc/nginx/conf.d/
目录下的某个文件中,具体取决于你的操作系统和 Nginx 设置。
为需要保护的 location 块添加以下指令:
location /protected/ {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}
这里的 auth_basic
是提示信息,当浏览器请求该路径时会显示给用户;auth_basic_user_file
指向你之前创建的 .htpasswd
文件位置。
保存更改后,检查 Nginx 配置是否正确:
sudo nginx -t
如果一切正常,重启 Nginx 使更改生效:
sudo systemctl restart nginx
或者,如果你使用的是不同的初始化系统:
sudo service nginx restart
现在,当你尝试访问 http://yourdomain.com/protected/
这个 URL 时,应该会被提示输入用户名和密码。只有提供正确的凭证,才能查看受保护的内容。