温馨提示×

Apache2在Ubuntu上如何实现防盗链

小樊
37
2025-03-11 01:06:42
栏目: 智能运维

在Ubuntu上使用Apache2实现防盗链,可以通过配置Apache的.htaccess文件来实现。以下是详细的步骤:

1. 创建或编辑 .htaccess 文件

首先,你需要找到你的网站根目录,并在该目录下创建或编辑 .htaccess 文件。通常,这个文件位于 /var/www/html/yourdomain.com/

sudo nano /var/www/html/yourdomain.com/.htaccess

2. 添加防盗链规则

.htaccess 文件中添加以下内容来设置防盗链规则:

RewriteEngine On

# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]

# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP请求头中的Referer字段,如果不是来自你允许的域名,则执行下一条规则。
  • RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]:同上,但检查HTTPS请求。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果上述条件满足,则阻止访问图片文件(可以根据需要调整文件类型)。

3. 保存并退出

保存文件并退出编辑器。

Ctrl + X
Y
Enter

4. 重启Apache服务器

为了使更改生效,需要重启Apache服务器。

sudo systemctl restart apache2

5. 测试防盗链

现在,尝试从不允许的域名访问你的图片文件,应该会被阻止。例如,如果你在浏览器中直接访问 http://yourdomain.com/images/example.jpg,并且该请求不是来自 yourdomain.com,则应该会看到一个403 Forbidden错误。

注意事项

  • 确保你的网站域名是正确的,并且与你在.htaccess文件中配置的域名一致。
  • 如果你有多个子域名,可以在RewriteCond中添加相应的子域名。
  • 你可以根据需要调整允许的域名列表和阻止的文件类型。

通过以上步骤,你就可以在Ubuntu上使用Apache2实现基本的防盗链功能。

0