Aller au contenu

Exposer une Container App en HTTPS

Un Fleet est un pool de ressources dédié dans lequel tu peux déployer plusieurs choses : des serveurs de jeu, des bases de données, et des Container Apps (n'importe quelle image Docker que tu veux faire tourner, avec son propre quota de CPU/RAM). Ce guide couvre la partie où les gens bloquent : rendre une Container App accessible en HTTPS sur un vrai domaine, pas juste une adresse interne.

Les trois façons d'exposer une Container App

Quand tu ajoutes une Container App à ton fleet et que tu actives Exposer en HTTPS, l'assistant de configuration te demande comment tu veux que l'adresse publique fonctionne. Il y a trois modes :

Mode Ce que tu obtiens Effort de configuration
Sous-domaine gratuit de la plateforme Une adresse gratuite *.zaroz.cloud avec certificat automatique Aucun, pas de DNS à toucher
Ton propre domaine (validation HTTP) HTTPS sur un domaine à toi, certificat émis via un challenge HTTP Ajouter un enregistrement DNS, vérifié en direct dans l'assistant
Ton propre domaine (Cloudflare DNS) HTTPS sur un domaine à toi, fonctionne même derrière le proxy Cloudflare Il te faut un compte Cloudflare et un token API limité

Si tu veux juste quelque chose en ligne rapidement sans toucher au DNS, choisis Sous-domaine gratuit de la plateforme et passe le reste de ce guide, il n'y a rien d'autre à configurer. Les deux autres modes sont pour quand tu as besoin de ton propre domaine.

Option A : ton propre domaine, validation HTTP

C'est la façon la plus simple d'utiliser un domaine à toi, tant que ce domaine n'est pas derrière un proxy (voir l'Option B si c'est le cas).

Étape 1 : choisis le mode et saisis ton domaine

Dans l'assistant de configuration, sélectionne Ton propre domaine (validation HTTP), puis saisis le domaine sur l'écran suivant, par exemple app.exemple.com. Juste le nom d'hôte, pas une URL complète.

Étape 2 : pointe le DNS de ton domaine

Comme pour nos autres produits basés sur un domaine, l'assistant t'affiche l'IP exacte vers laquelle pointer et te laisse le vérifier avant de continuer :

  1. L'assistant affiche une IP publique, par exemple 188.213.7.49. C'est l'ingress qui termine le trafic HTTPS de ton app.
  2. Connecte-toi à ton registraire (ou là où tu gères le DNS de ton domaine) et ajoute un enregistrement A pour ton domaine pointant vers cette IP.
  3. De retour dans l'assistant, clique sur Vérifier le DNS maintenant. Il fait une requête en direct et te dit si ça correspond, s'il a trouvé autre chose, ou si rien ne pointe encore vers le domaine.
;; à quoi ressemble un enregistrement bien configuré
app.exemple.com.   300   IN   A   188.213.7.49

Une fois la vérification passée (ou si tu es sûr que la propagation n'a juste pas encore rattrapé et que tu cliques sur Continuer quand même), continue pour confirmer la configuration de ta Container App.

Ne mets pas ce domaine derrière le proxy Cloudflare

La validation HTTP doit atteindre ton domaine directement pour émettre le certificat. Si le domaine est proxifié par Cloudflare (l'icône du nuage orange), l'émission du certificat échouera. Si tu veux garder le domaine derrière le proxy Cloudflare, utilise plutôt l'Option B, elle est faite exactement pour ce cas. Si notre vérification DNS en direct remarque que le domaine pointe actuellement vers une IP Cloudflare, elle te le signale spécifiquement plutôt qu'une erreur générique.

Pièges courants

  • Les mêmes pièges que pour la configuration DNS de WordPress : mauvaise zone DNS, délai de propagation, taper une URL au lieu d'un nom d'hôte tout nu. Voir Configurer ton site WordPress pour le détail complet, l'étape DNS sous-jacente fonctionne exactement pareil ici.
  • Aucune IP affichée / erreur "non configuré". Ça veut dire que le cluster sur lequel ton fleet est tombé n'a pas encore son IP d'ingress configurée de notre côté. Contacte le support, ce n'est pas de ton fait.

Option B : ton propre domaine, Cloudflare DNS

Utilise ça quand tu veux garder ton domaine derrière le proxy Cloudflare (nuage orange), ou quand tu préfères ne pas toucher aux enregistrements DNS à la main du tout.

Étape 1 : choisis le mode et saisis tes informations

Sélectionne Ton propre domaine (Cloudflare DNS). Sur l'écran suivant, il te faudra :

  • Domaine — le domaine que tu veux utiliser, par ex. app.exemple.com.
  • E-mail du compte Cloudflare — l'e-mail du compte Cloudflare qui gère le DNS de ce domaine.
  • Token API Cloudflare — un token avec la permission Zone:DNS:Edit limité à ce domaine.

Crée un token limité, pas ta Global API Key

Dans le tableau de bord Cloudflare, va dans My Profile → API Tokens → Create Token, et utilise le modèle Edit zone DNS limité au seul domaine que tu utilises ici. N'utilise pas ta Global API Key qui couvre tout le compte, un token limité qui fuite ne peut toucher que le DNS d'une zone ; une Global Key qui fuite peut toucher tout ton compte Cloudflare.

Étape 2 : c'est tout

Contrairement au mode validation HTTP, il n'y a ici aucun enregistrement DNS à ajouter ou vérifier toi-même. On crée et gère l'enregistrement DNS automatiquement via le token API, et le certificat est émis via le challenge DNS de Cloudflare, qui fonctionne aussi si le domaine est proxifié.

Confirmer et terminer

Quel que soit le mode choisi, l'écran de confirmation récapitule ton image, le port, le mode d'exposition et le domaine (le cas échéant). Une fois que tu confirmes, l'app se déploie et, pour les modes basés sur un domaine, l'émission du certificat suit peu après que le DNS soit confirmé actif.

Questions fréquentes

Puis-je changer de mode plus tard ?

Oui, rouvre la configuration de ta Container App et refais les étapes HTTPS. Si tu quittes le mode Cloudflare DNS, ça ne supprime pas l'enregistrement DNS que Cloudflare a créé ; supprime-le toi-même si tu n'en as plus besoin.

Pourquoi la validation HTTP a besoin d'un enregistrement A tout nu, mais pas le mode Cloudflare ?

Ils utilisent des types de challenge ACME différents. La validation HTTP prouve que tu contrôles le domaine en servant un fichier à une URL précise sur le port 80, l'autorité de certification doit donc atteindre ton serveur directement, d'où l'absence de proxy possible devant. Le challenge DNS de Cloudflare prouve le contrôle en créant à la place un enregistrement TXT via l'API, ce qui ne dépend pas de si le trafic HTTP vers le domaine est proxifié ou non.

Mon token API a arrêté de fonctionner après la configuration.

Les tokens API Cloudflare peuvent expirer ou être révoqués indépendamment de Zaroz. Si le renouvellement du certificat commence à échouer, génère un nouveau token limité dans le tableau de bord Cloudflare et mets-le à jour dans les paramètres HTTPS de ta Container App.

Est-ce que ça s'applique seulement aux Container Apps, ou aussi aux serveurs de jeu ?

Ce guide est spécifique aux Container Apps. Les serveurs de jeu et les autres membres du fleet utilisent des mécanismes d'exposition différents (ports, enregistrements SRV) couverts dans la doc de chaque produit ; voir le guide WordPress ou la section FiveM pour ça.