当您使用 DNSLink 记录设置 gateway 时,该 gateway 仅限于特定部分内容 — 即特定的内容标识符 (CID) 或 InterPlanetary Name Service (IPNS) 主机名。这称为 restricted gateway(受限的网关)。
受限网关不同于 universal gateway(通用网关),后者允许用户访问托管在 IPFS 网络上的任何内容。
IPFS 上的每个文件都由一个 CID ↗ 标识 — 这是一个类似于 bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze 的长字符串。终端用户无法输入或记住这些 CID,就像 IP 地址 (192.0.2.1) 与域名 (example.com) 相比不切实际一样。
DNSLink 通过 DNS TXT 记录将人类可读的域名映射到 IPFS CID,从而解决了这个问题。您可以将网站文件放入 IPFS 目录中,并创建一个指向该目录 CID 的 DNSLink 记录。然后,用户可以通过易读的 URL(例如 https://cf-ipfs.com/ipns/en.wikipedia-on-ipfs.org/)访问您的站点,gateway 会将其解析为正确的 CID。
DNSLink 还简化了内容更新。当您发布网站的新版本时,请更新 DNSLink 记录以指向新的 CID,gateway 就会自动提供新版本 — 无需共享新的 URL。
您可以在创建 IPFS Gateway 时选择指定 DNSLink,它将用作自定义主机名,引导用户访问已托管在 IPFS 上的网站。
默认情况下,您的 DNSLink 路径是 /ipns/onboarding.ipfs.cloudflare.com。如果您选择将网站放在托管于您自己的 IPFS 节点或 pinning 服务的不同内容文件夹中,则需要指定该值。
例如,www.example.com 的默认 DNSLink 记录如下所示:
| 记录类型 | 名称 | 内容 |
|---|---|---|
| TXT | _dnslink.www.example.com |
dnslink=/ipns/onboarding.ipfs.cloudflare.com |
有关 IPFS gateway 创建的 DNS 记录的更多详细信息,请参阅 Gateway DNS 记录。