在 Ubuntu 上使用 Apache2 设置访问密码(HTTP Basic Auth),通常步骤如下:
一般系统已自带,如果没有:
sudo apt update
sudo apt install apache2 apache2-utils
使用 htpasswd 创建用户和密码:
sudo htpasswd -c /etc/apache2/.htpasswd 用户名
首次创建用
-c,之后追加用户不要加-c,否则会覆盖
示例:
sudo htpasswd -c /etc/apache2/.htpasswd admin
查看文件:
cat /etc/apache2/.htpasswd
编辑站点配置:
sudo nano /etc/apache2/sites-available/000-default.conf
在 <VirtualHost *:80> 内添加:
<Directory /var/www/html>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
例如保护 /var/www/html/admin:
<Directory /var/www/html/admin>
AuthType Basic
AuthName "Admin Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
.htaccess(不推荐但方便).htaccess:<Directory /var/www/html>
AllowOverride AuthConfig
</Directory>
.htaccess:AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
sudo a2enmod auth_basic
sudo systemctl restart apache2
浏览器访问:
http://你的服务器IP
会提示输入用户名和密码 ✅
AuthType / Require 配置正确如果你是想:
可以告诉我具体场景,我给你对应配置。