温馨提示×

如何在Ubuntu Apache中配置防盗链模块

小樊
39
2025-12-22 21:53:33
栏目: 智能运维

在Ubuntu Apache中配置防盗链模块,可以有效地防止他人未经授权地使用你的网站资源。以下是详细的步骤:

1. 安装Apache防盗链模块

首先,确保你已经安装了Apache服务器。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install apache2

接下来,安装防盗链模块mod_rewritemod_headers

sudo a2enmod rewrite
sudo a2enmod headers

2. 配置防盗链

编辑Apache的配置文件,通常位于/etc/apache2/apache2.conf/etc/apache2/sites-available/000-default.conf。你可以选择编辑主配置文件或特定站点的配置文件。

sudo nano /etc/apache2/sites-available/000-default.conf

<Directory><VirtualHost>块中添加以下配置:

<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride All
    Require all granted

    # 防盗链配置
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
    RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
</Directory>

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^$:检查HTTP_REFERER是否为空。
  • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是来自你的域名。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F]:如果条件满足,则返回403 Forbidden状态码。

3. 重启Apache服务器

保存并关闭文件后,重启Apache服务器以使配置生效:

sudo systemctl restart apache2

4. 测试防盗链配置

将你的图片上传到/var/www/html目录下,并尝试从其他域名访问这些图片。如果配置正确,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的防盗链规则不会影响到合法的引用来源。
  • 如果你使用的是CDN或其他代理服务,可能需要调整防盗链配置以适应这些服务。
  • 定期检查防盗链配置,确保其有效性。

通过以上步骤,你可以在Ubuntu Apache中成功配置防盗链模块,保护你的网站资源不被滥用。

0