如何在Ubuntu/Debian Web服务器上使用密码身份验证保护Apache网页?如何使用基本身份验证来限制对Apache的特定网页的访问?安装和配置Apache Web服务器后,你可能需要为网页配置密码身份验证,本文将介绍如何使用基本身份验证设置受密码保护的目录,即在Ubuntu/Debian操作系统上配置Apache网页身份验证(Apache Web Page Authentication)的方法。
基本操作 通过运行以下命令,可以在Ubuntu或Debian服务器/工作站上安装Apache Web服务器: sudo apt update sudo apt -y install apache2 参考:在Ubuntu 18.04服务器上安装LAMP Stack的方法[Apache、MySQL、PHP]。 确认服务已启动: $ systemctl status apache2
这时在服务器的IP地址/主机名上显示以下测试页:
使用基本身份验证配置Apache密码保护目录 安装Apache Web服务器后,安装基本身份验证包: sudo apt -y install apache2-utils pwauth libapache2-mod-authnz-external 然后在/etc/apache2/sites-available目录下创建Apache网站配置文件: sudo tee /etc/apache2/sites-available/secure-page.conf<<EOF <Directory /var/www/html/secured> AuthType Basic AuthName "Basic Authentication" AuthUserFile /etc/apache2/.htpasswd require valid-user </Directory> EOF 将用户添加到基本身份验证文件: $ sudo htpasswd -c /etc/apache2/.htpasswd webuser1 New password: Re-type new password: Adding password for user webuser1 “-c”选项用于在初始设置期间创建文件,要通过添加其他用户来更新文件,请使用: $ sudo htpasswd /etc/apache2/.htpasswd webuser2 New password: Re-type new password: Adding password for user webuser2 用户的文件将包含: $ cat /etc/apache2/.htpasswd webuser1:$apr1$nIxlKLgc$xGTv.J1x5wtbJqAfFPt6o1 webuser2:$apr1$F4OnyIyv$WImqRIR5BBopTMjqGXs/c1 现在启用安全网站: $ sudo a2ensite secure-page Enabling site secure-page. To activate the new configuration, you need to run: systemctl reload apache2 创建安全的网站目录: sudo mkdir -p /var/www/html/secured 将内容添加到目录以进行测试: sudo tee /var/www/html/secured/index.html<<EOF <html> <body> <div style="width: 100%; font-size: 50px; font-weight: bold; text-align: center;"> My secure web page - Using Basic Auth </div> </body> </html> EOF 重启Apache服务: sudo systemctl restart apache2 测试对页面的访问权限:
当询问用户名和密码时,请使用先前配置的帐户信息进行身份验证:
到这里,我们已确认用于访问安全网页的基本身份验证,相同的过程适用于保护服务器上的现有网页。
相关主题 |