为你的 Apache2 服务器上添加用户认证

  • A+
所属分类:Linux

背景

在一些情况下,当我们使用web服务器作为下载服务器,默认情况下文件都会存放在/var/www目录下,如果是公网那将涉及到一定的安全性。在apache中,添加用户认证(User Authentication)是 Apache HTTP 服务器中一种常见的安全措施,用于限制对某些资源的访问。指定允许访问的用户,并配置 Apache 来执行基本身份验证。

1、安装 Apache2:确保你的系统上已经安装了 Apache2。使用以下命令来安装:

apt update 
apt install apache2

2、启用 Apache2 模块:确保 auth_basicauthn_file 模块已经启用。使用以下命令:

a2enmod auth_basic 
a2enmod authn_file 
systemctl restart apache2

3、创建密码文件:创建一个用于存储用户名和密码的文件。在这个例子中,我们将文件放在 /etc/apache2/.htpasswd

htpasswd -c /etc/apache2/.passwd username
为你的 Apache2 服务器上添加用户认证

系统会提示你输入密码,在这里htpasswd是系统自带的一个密码生成器,你可以用它生成密码保存到文件,当然这里生成的密码并不是明文,而是加密后的字符。但是切记密码尽可能长一些,如果过短可能会被暴力破解。

4、配置 Apache2:打开 Apache2 配置文件,通常位于 /etc/apache2/apache2.conf,添加以下内容:

<Directory /var/www/>
    AddDefaultCharset UTF-8
    AllowOverride None
    Options All
    AddHandler cgi-script .fcgi .cgi
    Order allow,deny
    Allow from all
    AuthName "用户名"
    AuthType Basic
    AuthUserFile /etc/apache2/.passwd
    Require valid-user
</Directory>

这会在 /var/www/html 目录下启用基本身份验证。确保配置正确后,重启 Apache2 服务:

systemctl restart apache2

测试访问:现在,当你访问 /var/www/html 目录中的任何内容时,都会要求输入用户名和密码。访问你的服务器,验证身份,确保用户认证生效。

结论:

通过上述步骤,已经成功在 Apache2 服务器上添加了用户认证。对于保护敏感目录或需要限制访问的资源非常有用。记得定期更改密码以增加安全性。

另外还可以根据需要修改路径、用户名等信息自定义。这个简单的用户认证系统为你的网站服务器提供了一层额外的安全性。

  • 微信公众号
  • 扫一扫关注微信公众号
  • weinxin
  • 运维交流群
  • 扫一扫二维码加入群聊
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: