宝塔面板开启防盗链需三步:一、网站设置中勾选启用并配置后缀、域名及响应;二、手动编辑Nginx/Apache配置添加Referer校验规则;三、CDN场景下需同步配置CDN端Referer白名单并透传头信息。

如果您在宝塔面板中管理网站,发现图片资源被其他站点直接引用导致流量异常消耗,则可能是未启用防盗链机制。以下是开启防盗链以保护网站图片资源不被盗用的具体操作步骤:
一、通过网站设置页面启用防盗链
该方法为最直接的图形化操作路径,适用于所有版本宝塔面板,无需编辑配置文件即可完成基础防盗链部署。
1、登录宝塔面板后台,点击左侧导航栏的网站,进入网站列表页面。
2、在网站列表中找到需保护的站点,点击其右侧的设置按钮。
3、在弹出的站点设置窗口中,点击左侧导航栏的防盗链选项卡。
4、勾选启用防盗链复选框。
5、在URL后缀输入框中填写需保护的静态资源后缀,例如:jpg,png,gif,webp,js,css(多个后缀用英文逗号分隔)。
6、在许可域名输入框中填写允许引用资源的域名,例如:www.example.com,example.com(每行一个,或用英文逗号分隔)。
7、在响应资源处可选择返回403状态码,或指定一张替代图片路径如:/security.png。
8、勾选允许空HTTP_REFERER请求,确保用户直接访问网页时图片仍能正常加载。
9、点击页面右下角的保存按钮,完成配置。
二、通过Nginx/Apache配置文件手动添加防盗链规则
该方法提供更高自由度,适用于需要精细化控制Referer匹配逻辑、正则表达式过滤或排除特定路径的场景。
1、在宝塔面板【网站】列表中,点击目标站点右侧的设置按钮。
2、切换至配置文件选项卡,定位到服务器配置区块(Nginx用户查找location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$附近;Apache用户查找<Directory或.htaccess相关区域)。
3、在Nginx配置中,在对应location块内插入以下代码:
valid_referers none blocked server_names *.example.com example.com;
if ($invalid_referer) { return 403; }
4、在Apache配置中,在对应Directory块内插入以下代码:
SetEnvIfNoCase Referer "^https?://(www\.)?example\.com/" local_ref
Order Allow,Deny
Allow from env=local_ref
5、保存配置文件后,点击面板右上角的重载配置按钮(Nginx)或重启Apache按钮(Apache)。
三、结合CDN与宝塔双重防盗链策略
当网站已接入CDN服务时,仅在宝塔端设置防盗链可能被绕过,需在CDN控制台同步配置Referer白名单,并将CDN回源请求的Referer头透传至宝塔服务器。
1、登录所用CDN服务商控制台(如腾讯云CDN、阿里云DCDN等),进入对应域名的防盗链配置页面。
2、启用Referer黑白名单功能,设置白名单域名为:www.example.com,example.com,*.example.com。
3、开启允许空Referer选项,避免搜索引擎收录页失效。
4、在CDN缓存配置中,确认已勾选透传Referer头或设置自定义回源Header:Referer: $http_referer。
5、返回宝塔面板,在【网站】→【设置】→【防盗链】中,将许可域名补充添加CDN节点IP段所属的域名(如cdn.example.com)或CDN厂商官方回源域名(如*.tencentcdn.com)。
6、保存并测试CDN节点访问图片资源是否返回预期响应(403或替代图)。










