发布于2026-05-21 阅读(0)
扫一扫,手机访问
网站资源被他人随意盗用,尤其是图片、视频等大文件,不仅消耗服务器带宽,还可能带来版权风险。好在Nginx提供了强大的防盗链功能,配置起来并不复杂。今天,我们就来详细拆解一下如何利用Nginx配置防盗链,从基础设置到进阶优化,一步步说清楚。

如果你的服务器上还没有Nginx,第一步自然是安装它。以Ubuntu系统为例,安装过程非常直接,通过包管理器就能轻松搞定:
sudo apt update
sudo apt install nginx
当然,不同操作系统安装方式略有差异,最稳妥的方法是参考Nginx官方文档进行安装。
安装完成后,核心工作就是修改配置文件。Nginx的主配置文件通常位于 /etc/nginx/nginx.conf,但更常见的做法是在 /etc/nginx/sites-a vailable/ 目录下编辑你的站点专属配置文件(例如 default 文件)。你可以新建一个,也可以直接修改现有的。
假设你的网站域名是 example.com,主要想保护 .jpg, .png 这类图片资源。那么,你可以在对应的 server 配置块中加入以下规则:
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
}
location ~* \.(jpg|jpeg|png|gif)$ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
}
}
valid_referers 指令:这是防盗链的核心。它定义了哪些来源是“合法”的。
none:允许没有来源信息(Referer头)的请求直接访问。比如用户在浏览器地址栏直接输入图片URL。blocked:允许来源信息被防火墙或袋里修改、删除的请求。这能覆盖更多实际场景。server_names example.com www.example.com:明确允许来自你自身域名(包括带www和不带www)的请求。这是最关键的部分,确保你网站自己的页面能正常显示图片。if ($invalid_referer) 判断:当请求的来源不在上述“合法”列表内时,$invalid_referer 变量的值就为1。此时,我们直接返回 403 Forbidden 状态码,拒绝该请求。配置文件修改后,千万别急着重启服务。先运行以下命令,检查语法是否正确,避免因配置错误导致Nginx服务宕机:
sudo nginx -t
如果终端显示“syntax is ok”和“test is successful”,恭喜你,配置语法没问题。接下来,平滑重载Nginx,让新配置生效:
sudo systemctl reload nginx
配置生效了,效果如何?验证方法很简单:
example.com,确保所有图片都能正常加载。这说明来自本站的请求是允许的。valid_referers 列表的网站或本地HTML文件中,通过 
的方式引用你的图片。此时,图片应该无法加载,或者返回403错误。none),根据配置,它可能是被允许的。这取决于你是否将 none 列入了合法来源。基础的防盗链配置已经能阻挡大部分随意盗用。但如果想更精细地控制,可以考虑以下优化方向:
cdn.example.com)、合作伙伴的域名,或者特定的路径。return 403; 替换为 rewrite ^ /path/to/placeholder.jpg; 之类的规则。limit_req 模块限制请求频率,或者通过 geo 和 map 模块设置IP黑名单/白名单。总的来说,Nginx的防盗链配置是一个性价比极高的安全措施。通过上述步骤,你可以快速建立起资源保护屏障,有效防止服务器资源被恶意消耗,让网站运行得更安心、更高效。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8