orbitlab.json à votre dépôt pour contrôler la façon dont les requêtes vers votre application sont traitées—redirections, réécritures, en-têtes personnalisés, comportement des barres obliques finales et URLs propres. Ces règles s’exécutent à la périphérie (devant votre application), elles s’appliquent donc avant même qu’une requête n’atteigne votre conteneur.
Le fichier est analysé automatiquement à chaque déploiement. Il n’y a rien à activer.
Emplacement du fichier
Placezorbitlab.json à la racine de votre projet. Dans un monorepo, mettez-le dans le même dossier que celui défini comme Répertoire racine (ex : apps/web/orbitlab.json).
Seules les clés de routage ci-dessous sont lues—toute autre clé est ignorée, vous pouvez donc conserver sans risque des paramètres non liés dans le même fichier.
Un exemple minimal
Redirections
Envoyez les visiteurs d’un chemin vers un autre via une redirection HTTP.Réécritures
Servez du contenu depuis un chemin différent ou une autre origine sans changer l’URL dans le navigateur.- Réécriture interne — lorsque
destinationest un chemin absolu (ex :/posts/:path*), l’URL est réécrite et la requête continue vers votre application. - Réécriture par proxy — lorsque
destinationest une URL complète (ex :https://api.example.com/:path*), la requête est relayée (proxy) vers cette origine. L’en-têteHosten amont est défini sur l’hôte de destination, et les origines HTTPS sont prises en charge.
En-têtes
Attachez des en-têtes de réponse personnalisés aux requêtes correspondantes. Les règles d’en-tête n’arrêtent pas la requête—une fois les en-têtes définis, elle continue vers les réécritures et votre application.Barres obliques finales & URLs propres
trailingSlash—falsesupprime la barre oblique finale (/about/→/about) ;truel’impose (/about→/about/) pour les chemins sans extension de fichier. Les deux utilisent une redirection308. La racine/n’est jamais affectée.cleanUrls— redirige/page.html→/pageavec un308.
Motifs de source
Le champsource prend en charge une syntaxe de correspondance de chemin familière :
Les paramètres nommés peuvent être réutilisés dans
destination en réécrivant le même jeton :param. Par exemple, "/old/:slug" → "/new/:slug" transporte le segment capturé.
Conditions (has / missing)
Les redirections, réécritures et en-têtes acceptent des tableaux optionnelshas et missing pour ne correspondre que lorsque certains attributs de la requête sont présents (has) ou absents (missing).
Règles par domaine (host)
Lorsque plusieurs domaines sont attachés à votre service, utilisez une conditionhost pour n’appliquer une règle qu’à l’un d’eux. Une même application peut ainsi servir un contenu différent selon le sous-domaine :
orbitlab.json gère le routage au sein d’un seul service. Les conditions host distinguent les domaines déjà attachés à ce service—elles ne peuvent pas envoyer le trafic vers un autre service. Pour pointer un domaine vers un service précis, attachez-le à ce service depuis le tableau de bord (voir Domaines). Pour atteindre une origine externe, utilisez une réécriture dont la destination est une URL complète.Ordre d’évaluation
Les règles sont appliquées à la périphérie dans cet ordre, puis la requête est transmise à votre application :cleanUrlstrailingSlashredirectsheadersrewrites- Votre application
Gérer les règles depuis le tableau de bord
Vous pouvez aussi gérer le routage depuis le tableau de bord/l’API. Lorsque les deux existent, la configuration du tableau de bord est prioritaire sur le fichier : les listes de règles sont combinées avec les règles du tableau de bord en premier, et les indicateurs (trailingSlash, cleanUrls) utilisent la valeur du tableau de bord si elle est définie. Supprimer orbitlab.json de votre dépôt efface les règles basées sur le fichier au prochain déploiement, tandis que les règles du tableau de bord restent en place.
Limites
Pour garder le routage à la périphérie rapide, les limites suivantes s’appliquent :
Si
orbitlab.json est invalide, le déploiement continue et les règles de routage précédentes sont conservées—consultez vos journaux de build pour un avertissement de validation.