在搭建网站时,很多站长都会遇到一个问题:自己的图片、视频或静态资源被其他网站直接引用,不仅消耗了服务器带宽,还可能带来安全风险。这种行为被称为“盗链”。本文将手把手教你如何在 RockyLinux 系统上通过 Nginx 配置实现防盗链设置,即使是小白也能轻松上手!
防盗链(Anti-leech)是一种通过服务器配置限制外部网站直接调用本站资源的技术。例如,当用户A的网站试图直接使用你网站上的图片链接(如 https://yourdomain.com/images/photo.jpg),而你的服务器检测到请求来源不是你自己的域名,就会拒绝该请求或返回一张替代图片(如“禁止盗链”提示图)。
RockyLinux作为RHEL的社区替代版本,广泛用于企业级服务器部署。如果你的网站运行在RockyLinux + Nginx环境中,合理配置防止图片盗链不仅可以节省带宽成本,还能提升RockyLinux服务器安全性,避免资源被恶意利用。
Nginx默认已编译 http_referer 模块,无需额外安装。你可以通过以下命令验证:
nginx -V 2>&1 | grep -o with-http_referer_module 如果输出 with-http_referer_module,说明模块已启用。
假设你的网站配置文件位于 /etc/nginx/conf.d/your-site.conf,使用你喜欢的编辑器(如nano或vim)打开它:
sudo nano /etc/nginx/conf.d/your-site.conf 在 server 块中,针对需要保护的静态资源(如图片、CSS、JS等)添加如下配置:
server { listen 80; server_name yourdomain.com; root /var/www/html; # 防盗链配置 location ~* \.(jpg|jpeg|png|gif|bmp|ico|css|js)$ { valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; # 或者返回一张提示图片:rewrite ^/.*$ /nohotlink.png last; } }}
代码说明:
valid_referers 定义了允许访问资源的来源:none:允许无Referer头的请求(如直接访问)blocked:允许被防火墙或代理修改过的Refereryourdomain.com 和 *.yourdomain.com:只允许来自你自己的域名$invalid_referer 是Nginx内置变量,当请求不符合 valid_referers 规则时为真return 403 表示直接拒绝请求;你也可以选择重定向到一张“禁止盗链”的图片保存配置文件后,先测试语法是否正确:
sudo nginx -t 如果显示 syntax is ok,则重载Nginx使配置生效:
sudo systemctl reload nginx 你可以通过以下方式测试:
curl -H "Referer: https://evil.com" -I https://yourdomain.com/images/test.jpg 如果返回 HTTP/1.1 403 Forbidden,说明防盗链已成功生效!
通过以上步骤,你已经成功在 RockyLinux 上完成了 Nginx防盗链配置。这不仅能有效防止图片盗链,还能提升整体的RockyLinux服务器安全水平。建议定期检查日志,确保防盗链规则按预期工作。
保护你的资源,从一次简单的配置开始!
本文由主机测评网于2025-12-08发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124854.html