温馨提示×

Debian Apache2如何配置防盗链

小樊
45
2025-08-10 23:38:45
栏目: 智能运维

在Debian系统上配置Apache2的防盗链功能,可以通过使用mod_rewrite模块来实现。以下是详细的步骤:

1. 启用必要的模块

首先,确保mod_rewrite模块已经启用。你可以使用以下命令来启用它:

sudo a2enmod rewrite

然后重启Apache2服务以应用更改:

sudo systemctl restart apache2

2. 配置防盗链

编辑你的网站配置文件。通常,这些文件位于/etc/apache2/sites-available/目录下。你可以使用你喜欢的文本编辑器,例如nanovim

假设你的网站配置文件是yourdomain.com.conf,你可以这样编辑它:

sudo nano /etc/apache2/sites-available/yourdomain.com.conf

<VirtualHost>块内添加以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@yourdomain.com
    DocumentRoot /var/www/html

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

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

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3. 解释配置

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

4. 启用配置

保存并关闭文件后,启用你的网站配置:

sudo a2ensite yourdomain.com.conf

然后重启Apache2服务以应用更改:

sudo systemctl restart apache2

5. 测试防盗链

现在,你可以测试防盗链是否生效。尝试从其他域名访问你的图片资源,应该会收到403 Forbidden响应。

通过以上步骤,你就可以在Debian系统上配置Apache2的防盗链功能了。

0