Zum Inhalt

Eine Container App über HTTPS freigeben

Ein Fleet ist ein dedizierter Ressourcen-Pool, in den du mehrere Dinge deployen kannst: Gameserver, Datenbanken und Container Apps (jedes beliebige Docker-Image, das du laufen lassen willst, mit eigener CPU/RAM-Zuteilung). Diese Anleitung deckt den Teil ab, an dem Leute hängen bleiben: eine Container App über HTTPS unter einer echten Domain erreichbar zu machen, nicht nur über eine interne Adresse.

Die drei Wege, eine Container App freizugeben

Wenn du eine Container App zu deinem Fleet hinzufügst und Über HTTPS freigeben aktivierst, fragt dich der Einrichtungsassistent, wie die öffentliche Adresse funktionieren soll. Es gibt drei Modi:

Modus Was du bekommst Einrichtungsaufwand
Kostenlose Plattform-Subdomain Eine kostenlose *.zaroz.cloud-Adresse mit automatischem Zertifikat Keiner, kein DNS anzufassen
Deine eigene Domain (HTTP-Validierung) HTTPS auf einer Domain, die dir gehört, Zertifikat über HTTP-Challenge ausgestellt Einen DNS-Eintrag hinzufügen, live im Assistenten geprüft
Deine eigene Domain (Cloudflare-DNS) HTTPS auf einer Domain, die dir gehört, funktioniert auch hinter Cloudflares Proxy Braucht ein Cloudflare-Konto und ein begrenztes API-Token

Wenn du nur schnell etwas online haben willst, ohne DNS anzufassen, wähle Kostenlose Plattform-Subdomain und überspring den Rest dieser Anleitung, da gibt es nichts weiter einzurichten. Die anderen beiden Modi sind für den Fall, dass du deine eigene Domain brauchst.

Option A: deine eigene Domain, HTTP-Validierung

Das ist der einfachste Weg, eine eigene Domain zu nutzen, solange diese Domain nicht hinter einem Proxy sitzt (siehe Option B, falls doch).

Schritt 1: Modus wählen und Domain eingeben

Wähle im Einrichtungsassistenten Deine eigene Domain (HTTP-Validierung), dann gib auf dem nächsten Bildschirm die Domain ein, zum Beispiel app.beispiel.de. Nur den Hostnamen, keine vollständige URL.

Schritt 2: die DNS deiner Domain ausrichten

Genau wie bei unseren anderen domainbasierten Produkten zeigt dir der Assistent die genaue IP, auf die du zeigen musst, und lässt dich es prüfen, bevor du weitermachst:

  1. Der Assistent zeigt eine öffentliche IP, zum Beispiel 188.213.7.49. Das ist der Ingress, der den HTTPS-Verkehr für deine App terminiert.
  2. Logge dich bei deinem Registrar ein (oder dort, wo du das DNS für deine Domain verwaltest) und füge einen A-Eintrag für deine Domain hinzu, der auf diese IP zeigt.
  3. Klicke zurück im Assistenten auf DNS jetzt prüfen. Er macht eine Live-Abfrage und sagt dir, ob es übereinstimmt, ob er etwas anderes gefunden hat, oder ob noch gar nichts auflöst.
;; so sieht ein korrekt konfigurierter Eintrag aus
app.beispiel.de.   300   IN   A   188.213.7.49

Sobald die Prüfung erfolgreich ist (oder du sicher bist, dass die Verbreitung nur noch nicht nachgezogen ist, und auf Trotzdem fortfahren klickst), geh weiter, um die Konfiguration deiner Container App zu bestätigen.

Diese Domain nicht über Cloudflare proxen

Die HTTP-Validierung muss deine Domain direkt erreichen, um das Zertifikat auszustellen. Wenn die Domain über Cloudflare proxied ist (das orangene Wolken-Symbol), schlägt die Zertifikatsausstellung fehl. Wenn du die Domain hinter Cloudflares Proxy behalten willst, nutze stattdessen Option B, die ist genau für diesen Fall gemacht. Wenn unsere Live-DNS-Prüfung bemerkt, dass die Domain aktuell zu einer Cloudflare-IP auflöst, markiert sie das konkret, statt eines generischen Fehlers.

Häufige Stolperfallen

  • Dieselben Stolperfallen wie bei der DNS-Einrichtung von WordPress: falsche DNS-Zone, Verbreitungsverzögerung, eine URL statt eines reinen Hostnamens eingeben. Siehe Deine WordPress-Seite einrichten für die ausführliche Übersicht, der zugrunde liegende DNS-Schritt funktioniert hier genau gleich.
  • Keine IP angezeigt / Fehler "nicht konfiguriert". Das bedeutet, der Cluster, auf dem dein Fleet gelandet ist, hat seine Ingress-IP auf unserer Seite noch nicht eingerichtet. Kontaktiere den Support, das liegt nicht an dir.

Option B: deine eigene Domain, Cloudflare-DNS

Nutze das, wenn du deine Domain hinter Cloudflares Proxy (orange Wolke) behalten willst, oder wenn du lieber gar keine DNS-Einträge von Hand anfassen willst.

Schritt 1: Modus wählen und Details eingeben

Wähle Deine eigene Domain (Cloudflare-DNS). Auf dem nächsten Bildschirm brauchst du:

  • Domain — die Domain, die du nutzen willst, z. B. app.beispiel.de.
  • Cloudflare-Konto-E-Mail — die E-Mail des Cloudflare-Kontos, das das DNS dieser Domain verwaltet.
  • Cloudflare-API-Token — ein Token mit Zone:DNS:Edit-Berechtigung, begrenzt auf diese Domain.

Erstelle ein begrenztes Token, nicht deinen Global API Key

Geh im Cloudflare-Dashboard zu My Profile → API Tokens → Create Token und nutze die Edit zone DNS-Vorlage, begrenzt auf genau die Domain, die du hier verwendest. Nutze nicht deinen kontoweiten Global API Key, ein geleaktes begrenztes Token kann nur das DNS einer Zone anfassen; ein geleakter Global Key kann dein ganzes Cloudflare-Konto anfassen.

Schritt 2: das war's

Anders als beim HTTP-Validierungsmodus musst du hier keinen DNS-Eintrag hinzufügen oder prüfen. Wir erstellen und verwalten den DNS-Eintrag automatisch über das API-Token, und das Zertifikat wird über Cloudflares DNS-Challenge ausgestellt, was auch funktioniert, wenn die Domain proxied ist.

Bestätigen und abschließen

Egal, welchen Modus du gewählt hast, der Bestätigungsbildschirm fasst dein Image, den Port, den Freigabemodus und die Domain (falls zutreffend) zusammen. Sobald du bestätigst, wird die App deployt, und bei den domainbasierten Modi folgt die Zertifikatsausstellung kurz danach, sobald das DNS live bestätigt ist.

Häufig gestellte Fragen

Kann ich den Modus später wechseln?

Ja, öffne die Konfiguration deiner Container App erneut und geh die HTTPS-Schritte noch mal durch. Wechselst du weg vom Cloudflare-DNS-Modus, wird der von Cloudflare erstellte DNS-Eintrag dadurch nicht gelöscht; lösch ihn selbst, wenn du ihn nicht mehr willst.

Warum braucht die HTTP-Validierung einen reinen A-Eintrag, der Cloudflare-Modus aber nicht?

Sie nutzen unterschiedliche ACME-Challenge-Typen. Die HTTP-Validierung beweist, dass du die Domain kontrollierst, indem sie eine Datei unter einer bestimmten URL auf Port 80 bereitstellt, die Zertifizierungsstelle muss also deinen Server direkt erreichen, deshalb kein Proxy davor. Die Cloudflare-DNS-Challenge beweist die Kontrolle stattdessen, indem sie über die API einen TXT-Eintrag erstellt, was egal ist, ob der HTTP-Traffic zur Domain proxied wird oder nicht.

Mein API-Token hat nach der Einrichtung aufgehört zu funktionieren.

Cloudflare-API-Tokens können unabhängig von Zaroz ablaufen oder widerrufen werden. Wenn die Zertifikatserneuerung anfängt zu scheitern, erstelle im Cloudflare-Dashboard ein frisches, begrenztes Token und aktualisiere es in den HTTPS-Einstellungen deiner Container App.

Brauche ich dafür speziell eine Container App, oder gilt das auch für Gameserver?

Diese Anleitung ist speziell für Container Apps. Gameserver und andere Fleet-Mitglieder nutzen andere Freigabemechanismen (Ports, SRV-Einträge), die in ihrer eigenen Produktdokumentation behandelt werden; siehe die WordPress-Anleitung oder den FiveM-Bereich dafür.