温馨提示×

Ubuntu Apache2防盗链怎么实现

小樊
54
2025-05-26 14:55:47
栏目: 智能运维

在Ubuntu上使用Apache2实现防盗链,可以通过配置.htaccess文件来限制访问来源。以下是具体步骤:

1. 创建或编辑 .htaccess 文件

首先,找到你想要保护的图片或视频所在的目录。如果该目录下没有 .htaccess 文件,可以创建一个。

cd /path/to/your/directory
touch .htaccess
nano .htaccess

2. 添加防盗链规则

.htaccess 文件中添加以下内容:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif|bmp|swf)$ - [F,L]

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP请求头中的Referer字段,如果不是来自你的域名(包括子域名),则执行下一步。
  • RewriteCond %{HTTP_REFERER} !^$:确保Referer字段不为空。
  • RewriteRule \.(jpg|jpeg|png|gif|bmp|swf)$ - [F,L]:如果满足上述条件,则返回403 Forbidden状态码,并停止进一步处理。

3. 保存并退出

Ctrl + X,然后按 Y 确认保存,最后按 Enter 退出编辑器。

4. 测试防盗链

将图片或视频的URL复制到其他域名的网页中,尝试访问这些图片或视频。如果来源不是你的域名,应该会看到403 Forbidden错误。

注意事项

  • 确保你的Apache服务器已经启用了mod_rewrite模块。可以通过以下命令启用:
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
  • 如果你使用的是HTTPS,确保RewriteCond中的域名也包含https://
  • 你可以根据需要调整允许的域名列表,例如:
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?anotherdomain\.com [NC]
    

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

0