在CentOS上配置Apache2的防盗链(Hotlink Protection)可以通过多种方法实现,其中一种常见的方法是使用mod_rewrite
模块。以下是一个基本的步骤指南:
1. 确保mod_rewrite
模块已启用
首先,确保mod_rewrite
模块已启用。你可以通过以下命令来启用它:
sudo systemctl enable httpd sudo systemctl start httpd sudo yum install mod_rewrite
2. 配置防盗链
编辑你的Apache配置文件或.htaccess
文件来设置防盗链规则。通常,你可以在网站的根目录下创建或编辑.htaccess
文件。
使用.htaccess
文件
在你的网站根目录下创建或编辑.htaccess
文件,并添加以下内容:
RewriteEngine On # 允许的引用站点列表 RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC] # 阻止所有其他引用站点的请求 RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
在这个例子中:
RewriteEngine On
启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
检查请求的引用站点是否不是你的域名(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
阻止所有其他引用站点的请求,并返回403 Forbidden状态码。
使用Apache配置文件
如果你更喜欢直接编辑Apache的主配置文件(例如/etc/httpd/conf/httpd.conf
或/etc/httpd/conf.d/yourdomain.conf
),可以添加以下内容:
ServerName yourdomain.com DocumentRoot /var/www/html RewriteEngine On # 允许的引用站点列表 RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC] # 阻止所有其他引用站点的请求 RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
3. 重启Apache服务
保存文件后,重启Apache服务以应用更改:
sudo systemctl restart httpd
4. 测试防盗链
尝试从不同的站点访问你的图片资源,确保防盗链规则生效。如果一切配置正确,非授权站点的请求应该会被阻止并返回403状态码。
通过以上步骤,你可以在CentOS上配置Apache2的防盗链功能,保护你的图片资源不被其他站点非法引用。