网站防盗链是保护服务器静态资源的重要手段,能够避免其他站点非法调用自己网站的图片、视频、压缩包等资源,减少带宽消耗和服务器负载。使用宝塔面板管理网站的用户可以通过简单的配置快速开启资源防盗链功能,适配多数常见的建站环境。

宝塔面板开启网站防盗链的前置条件
首先确认你的网站使用的Web服务是nginx,目前宝塔面板的防盗链功能主要针对nginx环境设计,如果是apache环境可以参考规则手动修改配置。同时需要准备好允许调用资源的域名列表,比如自己的主域名、CDN域名等。
nginx环境宝塔面板配置防盗链步骤
第一步 进入网站配置页面
登录宝塔面板后台,在左侧菜单栏点击网站选项,找到需要配置防盗链的站点,点击对应行的设置按钮,进入站点配置界面。
第二步 找到防盗链配置入口
在站点设置弹窗中,点击左侧的防盗链选项卡,进入防盗链配置页面,这里可以看到默认的未开启状态。
第三步 填写配置参数
按照页面提示填写对应的配置项:
- 允许域名:填写允许调用资源的域名,多个域名用英文逗号分隔,比如自己的主域名ipipp.com,CDN域名cdn.ipipp.com,不需要加http或者https前缀。
- 禁止文件类型:默认已经包含常见的图片、视频、压缩包类型,比如jpg,jpeg,png,gif,mp4,zip,可以根据需要增减,多个类型用英文逗号分隔。
- 返回状态码:建议选择403,当其他站点调用被禁止的资源时返回403禁止访问状态,也可以设置为404。
- 防盗链提示:可以自定义返回的错误提示内容,也可以留空使用默认提示。
第四步 保存配置并生效
填写完成后点击保存按钮,宝塔面板会自动修改nginx的站点配置文件并重载nginx服务,配置立即生效。如果需要验证配置是否生效,可以到其他站点尝试引用本站的资源,查看是否返回对应状态码。
手动修改nginx配置实现防盗链(进阶)
如果宝塔面板的图形化配置无法满足需求,也可以手动修改nginx的站点配置文件,在server块中添加如下规则:
# 防盗链配置
location ~* .(jpg|jpeg|png|gif|bmp|mp4|zip|rar|7z)$ {
# 允许的域名列表,多个域名用|分隔
valid_referers none blocked ipipp.com *.ipipp.com;
# 如果来源不在允许列表,返回403
if ($invalid_referer) {
return 403;
# 也可以返回一个默认的提示图片,替换下面的路径为实际图片路径
# rewrite ^/ https://ipipp.com/static/forbidden.png;
}
}
修改完成后点击宝塔面板的软件商店,找到nginx服务,点击重载配置即可让规则生效。
配置注意事项
- 允许域名中如果需要包含泛域名,比如所有二级域名都允许调用,可以写成*.ipipp.com的格式。
- 如果是使用CDN的站点,需要把CDN的回源域名和CDN加速域名都添加到允许列表中,否则CDN回源会失败。
- 配置完成后建议测试不同场景的访问,比如直接访问资源、从允许的域名引用、从不允许的域名引用,确认规则符合预期。
- 如果站点同时使用了其他nginx规则,注意防盗链规则的放置位置,避免被其他规则覆盖导致不生效。