Skip to content

Gateways Dédiés

Les utilisateurs du plan Nirvana beneficient d'un gateway IPFS privé sur un sous-domaine unique. Ce gateway ne sert que les fichiers épinglés sur votre compte — il ne resoudra pas les CIDs d'autres utilisateurs ou du réseau IPFS public.

Gateways list page with multiple gateway cards

Votre URL de gateway

Votre URL de gateway est affichee sur votre page Gateway et retournée par le endpoint /user/profile :

https://<your-slug>.gw.ipfs.ninja/ipfs/<CID>

Modes d'accès

ModeComportement
Ouvert (par défaut)Toute personne ayant votre URL de gateway + CID peut accéder a vos fichiers. Aucun token requis.
Token requisLes requêtes doivent inclure un token de gateway via le paramètre de requête ?token=gwt_... ou l'en-tête X-Gateway-Token.

Limites

  • 50 Go/mois de bande passante gateway inclus avec Nirvana
  • Lorsque la limite de bande passante est atteinte, les requêtes gateway retournent 429 jusqu'au mois suivant
  • L'utilisation du stockage se réinitialisé le premier de chaque mois calendaire
  • Ne sert que les CIDs épinglés sur votre compte — les requêtes pour d'autres CIDs retournent 403

TIP

Le gateway public a ipfs.ninja/ipfs/ reste disponible sur tous les plans et sert n'importe quel CID sans authentification.

Paramètres du Gateway

Configurez les controles d'accès pour votre gateway dédié.

Gateway detail page with access mode, token required, and IP whitelist settings

Mettre à Jour les Paramètres

PUT /gateway-settings

ParamètreTypeRequisDescription
tokenRequiredbooleanNonActiver/desactiver l'exigence de token du gateway.
ipWhiteliststring[]NonTableau d'adresses IP autorisées. Maximum 100. Un tableau vide supprime la liste blanche.
allowedOriginsstring[]NonTableau d'origines autorisées pour les requêtes navigateur. Maximum 100. Doivent utiliser le format HTTPS (ex. https://myapp.com). Un tableau vide autorisé toutes les origines.

Exemples

bash
# Activer le mode token requis
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"tokenRequired": true}'

# Configurer la liste blanche d'IPs
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"ipWhitelist": ["203.0.113.1", "198.51.100.0"]}'

# Effacer la liste blanche d'IPs (autoriser toutes les IPs)
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"ipWhitelist": []}'

# Restreindre a des origines specifiques
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"allowedOrigins": ["https://myapp.com", "https://staging.myapp.com"]}'

# Supprimer les restrictions d'origine (autoriser toutes les origines)
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"allowedOrigins": []}'

Restrictions d'Origine

Lorsque allowedOrigins est configuré, seules les requêtes navigateur provenant des origines listees sont autorisées. Le gateway vérifié les en-têtes Origin et Referer des requêtes entrantes.

  • Si la liste est vide (par défaut), toutes les origines sont autorisées.
  • Si des origines sont spécifiées, les requêtes avec un en-tête Origin ou Referer ne correspondant a aucune entree sont rejetées avec une réponse 403.
  • Les requêtes non-navigateur qui n'incluent pas d'en-tête Origin (comme les fetches côté serveur ou curl) passent sans restriction.

C'est utile pour intégrer du contenu gateway dans votre application web tout en empechant d'autres sites de faire du hotlinking de vos fichiers.

Tokens de Gateway

Les tokens de gateway (préfixe gwt_) sont en lecture seule et sûrs a intégrer dans les applications frontend. Contrairement aux clés API, un token de gateway ne peut accéder aux fichiers que via votre gateway dédié — il ne peut pas téléverser, supprimer ou gérer votre compte.

CapaciteClé API (bws_)Token de Gateway (gwt_)
Téléverser / supprimer des fichiersOuiNon
Lister / obtenir les métadonnées des fichiersOuiNon
Lire des fichiers via le gatewayNonOui
Sur a intégrer en frontendNonOui

Créer un Token de Gateway

POST /gateway-tokens

ParamètreTypeRequisDescription
namestringNonLibellé pour le token (ex. "Frontend"). Par défaut "Default".

Réponse 201 Created

json
{
  "token": "gwt_a1b2c3d4e5f6789012345678abcdef01",
  "tokenPrefix": "gwt_a1b2c3d4",
  "tokenName": "Frontend",
  "createdAt": 1711036800000
}

WARNING

Le token complet n'est retourné qu'une seule fois à la creation. Stockez-le en toute sécurité.

Lister les Tokens de Gateway

GET /gateway-tokens

json
[
  {
    "tokenPrefix": "gwt_a1b2c3d4",
    "tokenName": "Frontend",
    "createdAt": 1711036800000
  }
]

Supprimer un Token de Gateway

DELETE /gateway-tokens/:prefix

ParamètreTypeRequisDescription
prefixstringOuiLe préfixe du token a supprimer (ex. "gwt_a1b2c3d4").

Utiliser un token de gateway

Lorsque votre gateway à le mode token requis activé, transmettez le token en paramètre de requête ou en en-tête :

bash
# Parametre de requete
curl "https://a1b2c3d4.gw.ipfs.ninja/ipfs/QmXk7VRz...?token=gwt_your_token"

# Ou en-tete
curl https://a1b2c3d4.gw.ipfs.ninja/ipfs/QmXk7VRz... \
  -H "X-Gateway-Token: gwt_your_token"