我的 SSRF 防护把自己拦了:当「解析到的地址」不是「要连的地址」
给本地模型加联网搜索,写了标准的出网防护,结果搜索稳定返回空——防护把维基百科和搜索 API 全拦了,而它的判断完全正确。根因是透明代理返回的合成地址落在 RFC 2544 保留段。这个「检查的对象不是使用的对象」的间隙,在同一个文件里出现了三次。
给本地模型加联网搜索,写了标准的出网防护,结果搜索稳定返回空——防护把维基百科和搜索 API 全拦了,而它的判断完全正确。根因是透明代理返回的合成地址落在 RFC 2544 保留段。这个「检查的对象不是使用的对象」的间隙,在同一个文件里出现了三次。
查表覆盖不了变体×格式×上下文×卡数的组合爆炸,只能建模。这篇记录那次建模:公式的三项分别对应什么、全局注意力层占比这个查不到的量怎么用斜率测出来、并发数这个被忘掉的乘数如何让推理慢两个数量级,以及显存之外的两条硬约束——张量并行的整除要求和推荐排序为什么不能按体积。
以本站 ONNX Runtime Web 1.20.1 为例,核对资源完整性、模块 MIME、配置读取顺序与线程条件。附四个 HTTP 200 下载对照、两个实际模型接口检查、完整输出张量和可复跑实验包,区分部署成功与模型质量。
区分模型间 IoU 一致性与对标注的质量,重新界定四项排查证据的边界。附五组 4×4 遮罩、阈值与 8 位取整反例、逐像素指标程序及完整记录;旧模型实验数字保留为待复核历史记录。
E2B、E4B、12B Unified、26B A4B 与 31B 的架构差异、官方 benchmark、真实检查点体积与实测显存占用。讲清 PLE 有效参数、Unified 无编码器架构和 MoE 激活参数各解决什么问题,以及为什么 E4B 的量化版本比 12B 还大。
两条完整可操作的暴露方案:零入站端口的 Cloudflare 隧道,和自建域名证书的直连端口映射。含 nginx 反代配置、DNS-01 签证书、DDNS 要点,以及端口转发配对了却连不上时的策略路由解法。
让本地模型真正用起来:关闭思考模式省下 90% token、给不能自定义请求体的工具加一层转发、编辑器多模态能力声明,以及一张按现象索引的排查表。
在同一台机器上搭起 RAG:embedding 服务跑 CPU 不占显存、按标题两级切分、sqlite-vec 向量检索加 FTS5 中文全文、RRF 融合,最后包成 OpenAI 兼容端点并带引用返回。
从 nvidia-smi 读显存开始,查模型真实体积、按显存分档选 vLLM 或 llama.cpp、装引擎下权重、写成 systemd 服务,最后用 curl 验证并测出真实吞吐。含 8GB 显卡的完整参数配置。
在 8GB 显存的笔记本显卡上自建 Gemma 4 网关的完整实录:量化检查点比参数量大一倍、flash-attn 让 prompt 处理差 40 倍、端口转发配对了却因回包走错网关而握手失败、RAG 切分与中文全文检索的坑,每条都附实测数据。