在网站运营过程中,经常遇到其他网站直接引用你服务器上的图片、视频或文件资源,这不仅会消耗你的带宽,还可能导致服务器负载过高。这种行为被称为“盗链”。为了保护自己的资源不被滥用,我们可以在CentOS系统上通过Web服务器(如Apache或Nginx)进行防盗链设置。本教程将手把手教你如何在CentOS中配置防盗链,即使是小白也能轻松上手。
防盗链(Anti-leech)是一种通过判断HTTP请求中的Referer字段来限制外部网站直接调用你站点资源的技术。例如,当用户A访问你的图片时,如果请求来自你自己的域名(如https://yourdomain.com),则允许加载;如果来自其他网站(如https://other-site.com),则拒绝访问或返回一个替代图片(如“禁止盗链”提示图)。
如果你的CentOS服务器使用的是Apache作为Web服务器,请按以下步骤操作:
1. 确保mod_rewrite模块已启用
通常CentOS默认已启用该模块。你可以通过以下命令检查:
httpd -M | grep rewrite 2. 编辑网站的.htaccess文件或虚拟主机配置
在网站根目录下创建或编辑.htaccess文件,添加以下内容:
RewriteEngine OnRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^https://yourdomain\.com [NC]RewriteCond %{HTTP_REFERER} !^https://www\.yourdomain\.com [NC]RewriteRule \.(jpg|jpeg|png|gif|mp4|flv)$ https://yourdomain.com/images/nohotlink.png [R,L] 说明:
RewriteEngine On:开启重写引擎%{HTTP_REFERER} !^$:允许空Referer(如直接访问)!^https://yourdomain\.com:允许你自己的域名访问如果你使用的是Nginx,请修改站点的配置文件(通常位于/etc/nginx/conf.d/或/etc/nginx/sites-available/):
server { listen 80; server_name yourdomain.com www.yourdomain.com; location ~* \.(jpg|jpeg|png|gif|mp4|flv)$ { valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; # 或者返回一张提示图: # rewrite ^/.*$ /images/nohotlink.png last; } } root /var/www/html; index index.html;} 配置说明:
valid_referers:定义合法的来源,包括空(none)、被防火墙屏蔽的(blocked)、以及你自己的域名$invalid_referer:当来源不在合法列表中时,变量为真修改完成后,记得重载Nginx配置:
sudo nginx -t && sudo systemctl reload nginx 通过本教程,你已经学会了如何在CentOS系统中分别使用Apache和Nginx进行防盗链设置。无论是保护图片、视频还是其他静态资源,合理配置防盗链都能显著降低带宽浪费,提升服务器性能。希望这篇关于Apache防盗链配置和Nginx防盗链教程的内容对你有所帮助!
如果你还有疑问,欢迎在评论区留言交流。别忘了收藏本文,以便日后查阅!
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126236.html