温馨提示×

Ubuntu Apache2如何实现防盗链

小樊
35
2025-02-22 07:12:16
栏目: 智能运维
Ubuntu服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

1. 创建或编辑 .htaccess 文件

首先,找到你想要保护图片、视频或其他资源的目录,并在该目录下创建一个名为 .htaccess 的文件(如果已经存在,则直接编辑)。

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

2. 添加防盗链规则

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

RewriteEngine On

# 检查Referer头
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]

# 如果Referer不符合条件,返回403 Forbidden
RewriteRule \.(jpg|jpeg|png|gif|swf|mp4|avi|mov)$ - [F]

解释:

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

3. 保存并退出

保存 .htaccess 文件并退出编辑器。

4. 测试防盗链

将一些图片或视频链接放到其他网站上,然后尝试访问这些链接。如果来源网站不是你的域名,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的Apache服务器允许使用 .htaccess 文件进行重写。你可以在Apache配置文件中检查以下设置:
    <Directory /path/to/your/directory>
        AllowOverride All
    </Directory>
    
  • 如果你使用的是HTTPS,确保在 RewriteCond 中包含 https://
  • 你可以根据需要调整允许的域名列表,例如:
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(yourdomain\.com|anotherdomain\.com) [NC]
    

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Ubuntu Apache2如何配置防盗链

0