经验 on 人久https://1.122915.xyz/tags/%E7%BB%8F%E9%AA%8C/人久 - 神仙阿旺的个人官网,取人之长久之意,记录技术实践与生活感悟 人久Hugo -- gohugo.iozh-CN神仙阿旺神仙阿旺Wed, 19 Aug 2026 23:49:42 +0800Silo-and-Piclisthttps://1.122915.xyz/posts/silo-and-piclist/Wed, 19 Aug 2026 23:49:42 +0800神仙阿旺https://1.122915.xyz/posts/silo-and-piclist/<h1 id="本地-silo-图床--cloudflare-tunnel--piclist-踩坑全记录从-url-404-到-dns-解析失败的完整排错指南">本地 SILO 图床 + Cloudflare Tunnel + PicList 踩坑全记录:从 URL 404 到 DNS 解析失败的完整排错指南</h1> <blockquote> <p><strong>环境</strong>:本地部署 SILO(MinIO 分支)+ Cloudflare Tunnel 穿透 + PicList 作为上传客户端<br> <strong>核心问题</strong>:上传成功但返回链接无法访问、公网 endpoint 报 <code>getaddrinfo ENOTFOUND</code>、Path-Style 与 Virtual Hosted-Style 的隐秘陷阱</p></blockquote> <hr> <h2 id="一前言为什么这件事值得写">一、前言:为什么这件事值得写</h2> <p>如果你和我一样,在本地 NAS/服务器上部署了 <strong>SILO</strong>(Pigsty 社区维护的 MinIO 分支),想通过 <strong>Cloudflare Tunnel</strong> 把它变成公网图床,再用 <strong>PicList</strong> 一键上传并获取直链,那么你大概率会踩到以下几个连环坑:</p> <ol> <li>上传成功,但返回的 URL 是 <code>http://100.100.1.14:9001/xxx.webp</code>,<strong>缺少 bucket 名</strong>,公网无法访问</li> <li>给 Cloudflare Tunnel 配置了域名,结果<strong>暴露的是 Web Console 端口(9001)</strong>,PicList 上传报错或返回的链接打不开</li> <li>把 PicList 的 <code>endpoint</code> 改成公网域名后,直接报 <code>Error: getaddrinfo ENOTFOUND awang.1111.confused.hidns.co</code></li> <li>手动在 <code>urlPrefix</code> 里加上 <code>/awang</code>,结果链接变成了 <code>/awang/awang/xxx.webp</code></li> </ol> <p>这篇文章会把这些坑<strong>按时间线还原</strong>,并讲清楚背后的原理(S3 API 端口 vs Console 端口、Path-Style vs Virtual Hosted-Style、<code>endpoint</code> 与 <code>urlPrefix</code> 的本质区别),最后给出一份<strong>可直接复制使用的最终配置</strong>。</p>