温馨提示×

CentOS Apache2防盗链怎么设置

小樊
56
2025-05-21 01:20:59
栏目: 智能运维

在 CentOS 系统中,使用 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|swf|flv)$ - [F,L]

解释:

  • RewriteEngine On:启用 URL 重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查请求的来源(Referer),如果不是来自你的域名,则拒绝访问。
  • RewriteCond %{HTTP_REFERER} !^$:确保 Referer 不为空。
  • RewriteRule \.(jpg|jpeg|png|gif|swf|flv)$ - [F,L]:匹配图片和视频文件的扩展名,并返回 403 Forbidden 状态码。

3. 保存并退出

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

4. 测试防盗链

尝试从其他域名访问你保护的资源,应该会收到 403 Forbidden 错误。从你的域名访问则应该正常显示资源。

注意事项

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

通过以上步骤,你就可以在 CentOS 系统中使用 Apache2 设置防盗链了。

0