阿里云上给搜番插件配安全组与出网白名单的稳妥做法
上一篇讲装好,这一篇讲装好之后:哪些规则该收、哪些地址该放、出问题先看哪一层。环境前提仍是 Node 22+ 与 DSH Web,安装步骤不再重复。
安全组:规则越少,复核越快
安全组的难点不是写规则,是半年后还能说清每条规则为什么在。做法是按「谁能进、从哪进、多久复核」维护:运维入口和 Web 入口各留一条,来源写网段不写全域;临时开放要有回收日期和记录。
DSH Web 不是设计给公网裸奔的,这条在长期运维里比安装时更重要:一次为了演示而做的端口映射,很容易变成常驻规则。稳妥的形态是内网访问,或隧道、反向代理之后,公网只留隧道入口。
复核按季度做一次,检查三件事:有没有 0.0.0.0/0、端口对不对、规则备注还准不准。站点标注 🔵 含敏感能力(读写与删除本地文件、写剪贴板、发起外部网络请求),尚无人工评估,也未做风险分级——这条决定了边界要按「插件进程能做很多事」来设计,而不是按「搜番是只读的」来设计。
出网白名单按三段落
出方向不要只写一条「允许 443」。按用途分三段,排障时才知道断在哪一层。
第一段是来源站:Mikan、AniBT、AnimeGarden 负责搜索与详情,Bangumi 负责条目信息,有 subject ID 时才会请求。第二段是封面:由插件服务转发,目标仍是外部域名,不能因为「只是图片」就漏掉。第三段是媒体:已启用规则的域名,加上 mediaHosts 里声明的 CDN 域。
三段里最容易漏的是第三段,因为它取决于你启用了哪些规则,不是固定清单。规则变了,白名单要跟着变。反过来,mediaHosts 只管「允不允许解析和代理」,不是网络层放行;两层都要对得上,媒体才通。私网、回环、链路本地地址始终拒绝,这条不用配,也没有开关。
镜像替换:换的是地址,不是信任范围
站点地址可以换镜像,但换之前要想清楚两件事:新域要不要进出网白名单;镜像的页面结构还能不能被现有规则解析。
镜像不是「更快的同一个站」,是另一个域名、另一套页面结构、另一份可用性。换了镜像,来源站可用性依旧不由插件保证;镜像挂了,表现和原站挂了没有区别。所以镜像更适合当备用,而不是默认。
备份:真正要备的只有一段 yaml
用户配置只落在 $DSH_HOME/settings.yaml 的 anime-find: 段,由 dsh 设置服务原子写入;版本与安装来源是只读信息,不写进这一段。所以要备的就是这段文本,不是整个插件目录。
旧版本留下的 $DSH_HOME/anime-find.json 要单独说:它只在 yaml 里还没有 anime-find: 段时被导入,导入后改名为 .bak;如果 yaml 已有配置,则跳过导入、同样只改名备份,之后不再读取。升级之后不要拿 json 当配置源,它已经不是了。
ECS 快照能兜底,但它是整盘粒度,恢复一次会连带系统和其他服务。配置层面的回滚,靠导出的那段 yaml 更快也更准。节奏是:改配置前导出一次,季度复核再导出一次,都带日期。
升级:把「可能换端口」写进变更单
升级命令是 dsh plugin --profile web update @cocofhu/anime-find。它会以当前 profile 执行更新,并拉起一个新的 dsh web,可能使用不同端口,然后跳到新地址。
对运维来说,这一条要写进变更单:安全组里如果有端口相关的规则,升级后要复核;反向代理或隧道的上游端口如果写死了,也要同步。以 link: 或 file: 本地方式安装的环境禁止自动更新,这是保护开发环境的约束,不是缺陷。
可观测性:先分清网络还是站点
出现「搜不到」时,按层判断比逐条试错快:
- 只有一个来源空,其他来源有结果:大概率是该站点的问题。单源失败不阻止其他来源返回,这是设计行为。
- 所有来源都空:先看 ECS 出网与 DNS,再看插件是否加载、会话是不是新的。
- 卡片有标题但封面空:看封面转发链路,不是搜索链路。
- 介绍和资源正常、短评 Tab 不在:短评走 Bangumi 非公开 p1 接口,最多 5 条,接口变化时该 Tab 会隐藏,属预期降级。
不要用具体的毫秒数当阈值,这类数字随网络与站点波动,写进监控只会制造噪音。看的是「有没有结果」和「哪一层没有」。
总结
长期运维的抓手是四条:安全组只留必要入口并季度复核;出网按来源站、封面、媒体三段维护;配置备份认准 $DSH_HOME/settings.yaml 的 anime-find: 段;升级前把换端口的可能写进变更单。
适合与不适合
适合:多人共用一台 ECS、需要把规则写进文档的团队;已经把 Web 入口收进内网或隧道的环境;需要定期做配置备份与升级复核的运维。
不适合:单人临时试用、不打算维护白名单的场景;必须把 Web 端口直接暴露公网才能用的环境;希望插件替你看住来源站可用性的人。
标签:dsh-plugin-anime-find、DeepSeek Harness、阿里云运维
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。