在搭建网站时,经常会遇到其他网站直接引用你服务器上的图片、视频等静态资源,这不仅会消耗你的带宽,还可能影响网站性能。这种行为称为“盗链”。为了保护你的资源不被非法使用,我们可以使用 Ubuntu防盗链设置 来限制外部网站的访问。本文将手把手教你如何在 Ubuntu 系统中,基于 Nginx 服务器进行防盗链配置,即使你是小白也能轻松上手。
防盗链(Anti-leech)是一种通过判断 HTTP 请求头中的 Referer 字段,来识别请求是否来自合法来源的技术。如果请求不是来自你允许的域名,服务器就会拒绝提供资源(如返回 403 错误或一张提示图片)。
首先,打开你的站点配置文件。通常位于 /etc/nginx/sites-available/ 目录下。假设你的站点名为 example.com,执行以下命令:
sudo nano /etc/nginx/sites-available/example.com 在 server 块内,找到或添加一个 location 块,用于匹配静态资源(如图片、视频等)。以下是一个典型的防盗链配置示例:
location ~* \.(jpg|jpeg|png|gif|bmp|ico|webp|mp4|avi|flv|mp3)$ { valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; # 或者你可以返回一张提示图片: # rewrite ^/.*$ /images/hotlinking.png last; }} 代码说明:
valid_referers:定义合法的来源。其中:none 允许直接访问(如用户在浏览器地址栏输入图片链接)blocked 允许 Referer 被防火墙或代理隐藏的情况yourdomain.com 和 *.yourdomain.com 是你自己的域名,需替换成实际域名$invalid_referer:如果请求的 Referer 不在合法列表中,该变量为真return 403;:直接返回 403 禁止访问错误rewrite 行可用于返回一张自定义提示图(需提前准备好 /images/hotlinking.png)保存配置文件后,先测试 Nginx 配置是否正确:
sudo nginx -t
如果显示 test is successful,说明配置无误。接着重载 Nginx 使配置生效:
sudo systemctl reload nginx
你可以通过以下方式测试:
none 情况)除了防盗链,你还可以结合以下措施进一步增强 Ubuntu服务器安全:
通过以上步骤,你已经成功完成了 Nginx防盗链配置,有效防止了他人盗用你的静态资源。这项设置不仅能节省带宽,还能提升网站的整体安全性。记住,防止图片盗链 只是服务器安全的一小部分,建议你持续关注整体安全策略。
如果你在操作过程中遇到问题,欢迎在评论区留言交流!
本文由主机测评网于2025-12-19发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251210011.html