Cloudflare Web3 网关提供各种 Web3 网络的 HTTP 可访问接口。您可以通过几种方式与网关进行交互。
要使用仪表板创建网关:
-
在 Cloudflare 仪表板中,转到 Web3 页面。
Go to Web3 ↗ -
单击 Create Gateway(创建网关)。
-
输入以下信息:
- Hostname(主机名):输入要用作网关的主机名,该主机名必须是当前 Cloudflare 区域的子域。
- Gateway Description(网关描述):输入描述以帮助区分不同的网关。
- Gateway Type(网关类型):选择网关目标,包括 IPFS DNSLink、IPFS Universal Path 或 Ethereum。
- DNSLink:仅适用于 IPFS 网关,更多详情请参阅 DNSLink。
- 单击 Deploy(部署)。
要使用 API 创建网关,请发送包含以下参数的 POST 请求:
name:将通过CNAME记录指向目标网关的主机名。target:主机名的网关目标(ethereum、ipfs、ipfs_universal_path)。
如果您需要 API 身份验证方面的帮助,请参阅 Cloudflare API 文档。
curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/web3/hostnames" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"name": "gateway.example.com",
"description": "This is my IPFS gateway.",
"target": "ipfs",
"dnslink": "/ipns/onboarding.ipfs.cloudflare.com"
}'响应包含新网关的完整定义。
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "<WEB3_GATEWAY_ID>",
"name": "gateway.example.com",
"description": "This is my IPFS gateway.",
"status": "active",
"target": "ipfs",
"dnslink": "/ipns/onboarding.ipfs.cloudflare.com",
"created_on": "<CREATED_ON_DATE>",
"modified_on": "<MODIFIED_ON_DATE>"
}
}创建网关时,Cloudflare 会自动:
- 创建并添加 记录到您的 Cloudflare DNS,以便您的网关可以接收并正确路由流量。
- 代理发往该主机名的流量。
- 签发 SSL/TLS 证书以覆盖指定的主机名。
一旦您 创建了网关,您只能编辑 Gateway Description(网关描述),并且 — 如果它是 IPFS 网关 — 还可以编辑 DNSLink 字段的值。
如果您需要编辑其他字段,请 删除网关 并创建一个新的网关。
要使用仪表板编辑网关:
-
在 Cloudflare 仪表板中,转到 Web3 页面。
Go to Web3 ↗ -
在特定网关上,单击 Edit(编辑)。
-
更新 Gateway Description(网关描述),如果编辑的是 IPFS 网关,还需更新 DNSLink 的值。
-
单击 Reapply(重新应用)。
要编辑网关的特定设置,请使用 PATCH 请求。
当您的网关卡在 Error 状态 时,您应尝试刷新网关,此操作将尝试重新创建与主机名关联的 DNS 记录。
要使用仪表板刷新网关:
-
在 Cloudflare 仪表板中,转到 Web3 页面。
Go to Web3 ↗ -
在网关上,单击下拉菜单,然后单击 Refresh(刷新)。
要使用 API 刷新网关,请发送请求体为空的 PATCH 请求。
当您设置 IPFS Universal Path 网关 时,您可能希望将项目添加到网关黑名单,从而允许您阻止对特定内容的访问。
您可以阻止对以下一个或多个项目的访问:
- CIDs (
QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB) - IPFS 内容路径 (
/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme) - IPNS 内容路径 (
/ipns/example.com)
要使用仪表板将项目添加到黑名单:
-
在 Cloudflare 仪表板中,转到 Web3 页面。
Go to Web3 ↗ -
在特定网关上,单击下拉菜单,然后单击 Blocklist(黑名单)。
-
单击 Add entry(添加条目)。
-
输入以下信息:
- Blocklist entry type(黑名单条目类型):选择 CID 或 Content path(内容路径)。
- Blocklist entry content(黑名单条目内容):添加要阻止的 CID 或内容路径,这意味着它应该是一个有效的 CIDv0 或 CIDv1 字符串 (CID),或者条目应以
/ipfs/或/ipns/开头(内容路径)。 - Blocklist entry description(黑名单条目描述):添加描述以帮助您识别黑名单条目。
-
单击 Add(添加)。
要使用 API 添加黑名单项目,请发送 POST 请求。
删除网关时,Cloudflare 将自动删除所有关联的主机名 DNS 记录。此操作将影响您的流量,且无法撤消。
要使用仪表板删除网关:
-
在 Cloudflare 仪表板中,转到 Web3 页面。
Go to Web3 ↗ -
在特定网关上,单击下拉菜单,然后单击 Remove(移除)。
-
单击 Delete hostname(删除主机名)。
要使用 API 删除网关,请发送 DELETE 请求。