Manage gateways
A Cloudflare Web3 gateway provides HTTP-accessible interfaces to various Web3 networks. You can interact with a gateway in several ways.
Create a gateway
To create a gateway using the dashboard:
- Log in to the Cloudflare dashboard.
- Select your account and website.
- Go to Web3.
- Click Create Web3 Gateway.
- Enter the following information:
- Hostname: Enter a hostname to use as your gateway, which has to be a subdomain of the current Cloudflare zone.
- Gateway Description: Enter a description to help distinguish between different gateways.
- Gateway Type: Select a gateway target of IPFS DNSLink, IPFS Universal Path, or Ethereum.
- DNSLink: Only applicable to IPFS gateways, more details at DNSLink.
- Click Deploy.
To create a gateway using the API, send a POST
request that includes the following parameters:
name
: The hostname that will point to the target gateway via aCNAME
record.target
: The gateway target for the hostname (ethereum
,ipfs
,ipfs_universal_path
).
If you need help with API authentication, refer to Cloudflare API documentation.
Requestcurl "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"}'
The response contains the complete definition of the new gateway.
Response{ "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>" }
}
When you create a gateway, Cloudflare automatically:
- Creates and adds records to your Cloudflare DNS so your gateway can receive and route traffic appropriately.
- Proxies traffic to that hostname.
- Issues an SSL/TLS certificate to cover the specified hostname.
Edit a gateway
Once you have created a gateway, you can only edit the Gateway Description and — if it is an IPFS gateway — also edit the value for the DNSLink field.
If you need to edit other fields, delete the gateway and create a new one.
To edit a gateway using the dashboard:
- Log in to the Cloudflare dashboard.
- Select your account and website.
- Go to Web3.
- On a specific gateway, click Edit.
- Update the Gateway Description and — if editing an IPFS gateway — the value for the DNSLink.
- Click Reapply.
PATCH
request. Refresh a gateway
When your gateway is stuck in an Error status, you should try refreshing the gateway, which attempts to re-create the associated DNS records for the hostname.
To refresh a gateway using the dashboard:
- Log in to the Cloudflare dashboard.
- Select your account and website.
- Go to Web3.
- On a gateway, click the dropdown then Refresh.
PATCH
request with an empty request body. Update blocklist
When you set up a IPFS Universal Path gateway, you may want to add items to the gateway blocklist, which allows you to block access to specific content.
You have the ability to block access to one or more:
- CIDs (
QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB
) - IPFS content paths (
/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
) - IPNS content paths (
/ipns/example.com
)
To add an item to the blocklist using the dashboard:
Log in to the Cloudflare dashboard.
Select your account and website.
Go to Web3.
On a specific gateway, click the dropdown then Blocklist.
Click Add entry.
Enter the following information:
- Blocklist entry type: Choose CID or Content path.
- Blocklist entry content: Add a CID or content path to block, meaning either a valid CIDv0 or CIDv1 string (CID) or the entry should start with
/ipfs/
or/ipns/
(content path). - Blocklist entry description: Add a description to help you identify the blocklist entry.
Click Add.
POST
request. Delete a gateway
When you delete a gateway, Cloudflare will automatically remove all associated hostname DNS records. This action will impact your traffic and cannot be undone.
To delete a gateway using the dashboard:
- Log in to the Cloudflare dashboard.
- Select your account and website.
- Go to Web3.
- On a specific gateway, click the dropdown then Remove.
- Click Delete hostname.
DELETE
request.