WorkBuddy防盗链需四层配置:一、Nginx层设Referer白名单并拒绝非法请求;二、CDN平台开启Referer鉴权,允许多域名及空Referer;三、API网关校验Origin头并注入严格CORS响应头;四、对象存储Bucket启用Referer白名单且禁用空Referer与静态网站托管。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您发现WorkBuddy托管的静态资源(如模型文件、插件脚本、图表模板)被其他网站通过直接URL引用,导致带宽异常增长或敏感内容外泄,则可能是未启用防盗链机制。以下是配置WorkBuddy防盗链的具体操作步骤:
一、在Nginx反向代理层配置Referer白名单
该方式适用于WorkBuddy部署于自建Nginx作为前端网关的场景,通过HTTP请求头中的Referer字段识别合法来源域名,拦截非授权站点的资源请求。
1、编辑WorkBuddy所用Nginx服务的server配置块,定位至静态资源路径(如/location ^~ /static/)。
2、在该location块内添加如下指令:valid_referers none blocked server_names *.workbuddy.yourcompany.com workbuddy.yourcompany.com;
3、插入拒绝规则:if ($invalid_referer) { return 403; }
4、执行nginx -t验证语法,确认无误后运行nginx -s reload重载配置。
二、通过CDN平台启用Referer鉴权
当WorkBuddy静态资源托管于腾讯云CDN、阿里云DCDN等平台时,应利用CDN内置的防盗链功能,避免修改源站逻辑,且支持正则匹配与空Referer精细控制。
1、登录CDN控制台,在对应域名的【访问控制】→【Referer防盗链】中开启开关。
2、设置允许的来源域名列表,包括:https://*.workbuddy.yourcompany.com、https://workbuddy.yourcompany.com、https://console.workbuddy.yourcompany.com。
3、勾选【允许空Referer访问】选项,确保移动端App、桌面客户端及部分内嵌iframe场景可正常加载资源。
4、将缓存过期时间(Cache-Control)同步设置为public, max-age=31536000,防止防盗链策略被缓存覆盖。
启用该技能,可以在WorkBuddy对话页的右边栏添加一个日历,提供月历视图、日程增删改查、分类标签(开庭/会议/截止日期/个人/研究/其他),支持从对话中提取事件并自动同步到日历。当用户提到"日历""日程""打开日历""添加日程""我的日程""calendar""安排"或询问已记录的日程信息时使用。
三、在API网关层校验Origin头并注入CORS策略
针对WorkBuddy提供的WebAssembly模块、前端SDK等需跨域调用的资源,仅依赖Referer不可靠,必须结合Origin头校验与严格CORS响应头,阻断非法JavaScript上下文的资源读取。
1、进入WorkBuddy API网关(如Kong、腾讯云API网关)控制台,定位到/static/*路由规则。
2、添加请求头校验插件,配置条件:origin ~ ^(https?:\/\/)?(.*\.)?workbuddy\.yourcompany\.com$。
3、为该路由绑定响应头插件,注入以下三项:Access-Control-Allow-Origin: https://workbuddy.yourcompany.com、Access-Control-Allow-Methods: GET、Access-Control-Allow-Credentials: false。
4、禁用默认通配符CORS策略,确保未匹配Origin的请求返回400而非200+空响应体。
四、为OSS/S3类对象存储配置Bucket Referer策略
若WorkBuddy使用腾讯云COS、阿里云OSS或MinIO作为静态资源后端,需在对象存储服务侧强制约束Referer,防止绕过CDN或反向代理直接访问原始URL。
1、进入对象存储控制台,选择WorkBuddy所用Bucket,打开【权限管理】→【Referer访问控制】。
2、启用Referer白名单,并添加以下两条精确域名:workbuddy.yourcompany.com、console.workbuddy.yourcompany.com。
3、取消勾选【允许空Referer】,杜绝浏览器地址栏直输URL或curl命令的未授权访问。
4、将Bucket的静态网站托管功能关闭,仅保留API式访问路径(如https://wb-static-1250000000.cos.ap-shanghai.myqcloud.com/plugin/v2.3.1.js),避免暴露默认首页入口。









