温馨提示×

Apache2在CentOS上的防盗链功能怎么实现

小樊
47
2025-09-28 13:04:56
栏目: 智能运维

在CentOS上配置Apache2的防盗链功能,可以通过以下步骤实现:

1. 安装Apache2

如果尚未安装Apache2,请先进行安装:

sudo yum install httpd

2. 启动并启用Apache2服务

sudo systemctl start httpd
sudo systemctl enable httpd

3. 配置防盗链

防盗链通常通过修改Apache的配置文件来实现。你可以使用mod_rewrite模块来创建防盗链规则。

3.1 编辑Apache配置文件

编辑Apache的主配置文件/etc/httpd/conf/httpd.conf或创建一个新的配置文件(例如/etc/httpd/conf.d/anti-hotlinking.conf)。

sudo vi /etc/httpd/conf.d/anti-hotlinking.conf

3.2 添加防盗链规则

在配置文件中添加以下内容:

<VirtualHost *:80>
    ServerName yourdomain.com

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

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是来自你的域名。
  • RewriteCond %{HTTP_REFERER} !^$:确保HTTP_REFERER不是空的。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果条件匹配,则返回403 Forbidden状态码,并停止进一步处理。

3.3 保存并退出

保存文件并退出编辑器。

4. 重启Apache服务

使配置生效,重启Apache服务:

sudo systemctl restart httpd

5. 测试防盗链

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

注意事项

  • 确保你的服务器允许HTTP_REFERER头信息。有些代理服务器或防火墙可能会阻止这个头信息。
  • 如果你使用的是HTTPS,确保防盗链规则也适用于HTTPS请求。
  • 你可以根据需要调整防盗链规则,例如添加更多的文件类型或更复杂的条件。

通过以上步骤,你可以在CentOS上成功配置Apache2的防盗链功能。

0