在 Ubuntu 上用 Apache2 给网站或目录设置访问密码,通常有两种常见做法:
sudo apt update
sudo apt install apache2 apache2-utils
sudo htpasswd -c /etc/apache2/.htpasswd 用户名
示例:
sudo htpasswd -c /etc/apache2/.htpasswd admin
第一次用
-c,之后再加用户 不要加-c,否则会覆盖。
查看文件:
cat /etc/apache2/.htpasswd
编辑站点配置:
sudo nano /etc/apache2/sites-available/000-default.conf
在 <VirtualHost> 里加:
<Directory /var/www/html/secret>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
保存后:
sudo systemctl restart apache2
.htaccesssudo nano /etc/apache2/apache2.conf
找到:
<Directory /var/www/>
AllowOverride None
改成:
AllowOverride All
.htaccesssudo nano /var/www/html/secret/.htaccess
内容:
AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
sudo systemctl restart apache2
如果你只是想限制访问来源:
<Directory /var/www/html/secret>
Require ip 192.168.1.100
</Directory>
如果你愿意,可以告诉我:
我可以直接给你一份完整配置。