温馨提示×

Ubuntu Apache配置中如何配置防盗链

小樊
44
2025-07-14 04:00:56
栏目: 智能运维

在Ubuntu上配置Apache服务器以防止防盗链,可以通过修改Apache的配置文件来实现。以下是一个基本的步骤指南:

1. 打开Apache配置文件

首先,你需要打开Apache的主配置文件。通常这个文件位于 /etc/apache2/apache2.conf/etc/apache2/httpd.conf

sudo nano /etc/apache2/apache2.conf

2. 添加防盗链规则

在配置文件中找到 <Directory><Location> 块,添加以下防盗链规则:

<Directory "/var/www/html">
    # 允许所有来源访问
    Allow from all

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

解释:

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

3. 保存并退出

保存文件并退出编辑器。

Ctrl + X
Y
Enter

4. 重启Apache服务器

为了使配置生效,需要重启Apache服务器。

sudo systemctl restart apache2

5. 测试防盗链

你可以通过访问你的网站并尝试从其他域名下载图片来测试防盗链是否生效。如果防盗链配置正确,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的防火墙允许HTTP和HTTPS流量。
  • 如果你有多个子域名,可以在 RewriteCond 中添加更多的域名。
  • 你可以根据需要调整允许的文件类型(例如,添加 .css.js)。

通过以上步骤,你应该能够在Ubuntu上成功配置Apache服务器以防止防盗链。

0