在CentOS系统中,配置Apache服务器以防止防盗链可以通过修改Apache的配置文件来实现。以下是一个基本的步骤指南:
首先,你需要编辑Apache的主配置文件或相关的虚拟主机配置文件。通常,这些文件位于 /etc/httpd/conf/httpd.conf
或 /etc/httpd/conf.d/
目录下。
sudo vi /etc/httpd/conf/httpd.conf
或者
sudo vi /etc/httpd/conf.d/your-site.conf
在配置文件中添加以下内容来设置防盗链规则。你可以根据需要调整 Allow from
和 Deny from
的IP地址。
<Directory "/var/www/html">
# 允许所有IP访问
Allow from all
# 防盗链规则
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
解释:
RewriteEngine On
:启用URL重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP请求头中的 Referer
字段,如果不是来自 yourdomain.com
或 www.yourdomain.com
,则匹配失败。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果匹配成功,则返回403 Forbidden状态码,并停止进一步处理。保存并关闭配置文件后,重启Apache服务以使更改生效。
sudo systemctl restart httpd
你可以通过尝试从其他域名访问你的图片资源来验证防盗链是否生效。如果配置正确,你应该会收到403 Forbidden响应。
Referer
检查规则是准确的,以免误拦截合法访问。通过以上步骤,你可以在CentOS系统中配置Apache服务器以防止防盗链。