怎样用Nginx配置实现防盗链
使用Nginx配置实现防盗链 在网站运维中,资源被他人站点随意盗用、消耗服务器带宽,是件挺让人头疼的事。好在,通过Nginx配置防盗链,算得上是一种既常见又高效的安全防护手段。它能帮你把未经授权的资源请求直接挡在门外。下面,我们就来拆解一个基础的Nginx防盗链配置示例,手把手教你如何搭建这道防线。
使用Nginx配置实现防盗链
在网站运维中,资源被他人站点随意盗用、消耗服务器带宽,是件挺让人头疼的事。好在,通过Nginx配置防盗链,算得上是一种既常见又高效的安全防护手段。它能帮你把未经授权的资源请求直接挡在门外。下面,我们就来拆解一个基础的Nginx防盗链配置示例,手把手教你如何搭建这道防线。

第一步:编辑Nginx配置文件
首先,你得找到Nginx的配置文件。它通常位于 /etc/nginx/nginx.conf,或者 /etc/nginx/conf.d/default.conf 这样的路径下。用你熟悉的编辑器打开它。
第二步:添加防盗链配置
接下来,在目标网站的 server 配置块中,加入防盗链规则。这里提供一个清晰的示例,你可以直接套用或调整:
server {
listen 80;
server_name example.com;
location / {
# 指定合法的来源(即允许哪些页面引用资源)
valid_referers none blocked server_names ~\.example\.com$;
# 如果来源不合法,则返回403禁止访问
if ($invalid_referer) {
return 403;
}
# 其他你的常规配置...
}
location /images/ {
# 同样为图片目录设置防盗链
valid_referers none blocked server_names ~\.example\.com$;
if ($invalid_referer) {
return 403;
}
# 其他配置...
}
}
那么,这几行配置到底是什么意思呢?咱们简单解释一下:
valid_referers指令:它就像一份“白名单”,用来定义哪些来源是合法的。其中,none表示允许没有来源信息的请求(比如直接在浏览器地址栏输入),blocked则允许那些被防火墙或袋里过滤掉来源的请求,server_names允许你列出的域名,而像~\.example\.com$这样的正则表达式,则允许所有以.example.com结尾的域名。if ($invalid_referer)指令:这就是“守门员”了。它会检查请求的来源是否在刚才定义的合法名单里。如果不在(即$invalid_referer为真),Nginx就会直接返回一个 403 Forbidden 状态码,拒绝这次访问。
第三步:测试配置
配置文件修改保存后,先别急着重启服务。一个稳妥的习惯是,先运行测试命令,检查语法是否正确:
sudo nginx -t
如果终端显示“syntax is ok”和“test is successful”之类的提示,恭喜你,配置语法没问题。
第四步:重新加载Nginx
最后一步,让新配置生效。运行重新加载命令,这样Nginx就会平滑地应用新规则,而无需中断服务:
sudo systemctl reload nginx
完成以上四步,一个基础的防盗链功能就部署好了。当然,实际场景可能更复杂。关键在于,你可以灵活调整 valid_referers 指令里的参数,比如增减允许的域名,或者修改正则匹配模式,来精准适配你的业务需求。这样一来,你的服务器资源,就真正由你自己做主了。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。





