
Anleitungen im Zusammenhang mit Beach
So weist du einer Beach-Instanz eine Domain zu
Dieser Leitfaden enthält alle Informationen darüber, wie du deiner Instanz eine benutzerdefinierte Domain zuweist, ein SSL-Zertifikat erhältst und DNS einrichtest, um mit deiner Website live zu gehen.
Übersicht
Bevor du mit dieser Anleitung beginnst, benötigst du Folgendes
- eine Beach-Produktionsinstanz mit einer Neos-Website oder Flow-Anwendung
- Zugang zu einer Domain, die du bei einem anderen Registrar registriert hast
- Zugriff auf die DNS-Konfiguration für deine Domain
In diesem Tutorial werden wir zwei Domains für eine Instanz einrichten:
- www.example.com ist die Hauptdomain, die die Besucher der Website verwenden werden
- example.com leitet die Besucher automatisch auf www.example.com um

Domain in Beach anlegen
Melde dich in der Benutzeroberfläche von Beach an und navigiere zum Bereich "Domains" deiner Organisation. Klicke dann auf die Schaltfläche "Add one domain", um eine neue Domain zu konfigurieren.
Füge zunächst die Hauptdomain deiner Website hinzu, in diesem Fall www.example.com.
Als nächstes fügst du die Domain hinzu, die du umleiten möchtest, in diesem Fall example.com.

Subdomain umleiten
Jetzt, wo Beach über deine beiden Domains Bescheid weiß, kannst du sie entweder nutzen oder eine Domain auf eine andere umleiten.
Klicke auf das Stiftsymbol neben der Domain example.com. Auf der folgenden Seite klickst du auf den Button Redirect… und gibst im Dialogfeld www.example.com als die Domain ein, auf die Beach umleiten soll.

Der Instanz die Haupt-Domain zuweisen
Navigiere in der Benutzeroberfläche von Beach zurück zur Übersicht deiner Domains. Klicke neben www.example.com auf das Stiftsymbol und auf der folgenden Seite auf Assign…. Wähle deine primäre Domäne für die Instanz (in unserem Fall www.example.com).
Deine Instanz nimmt nun Datenverkehr für diese Domain an. Vorerst wird sie jedoch nur HTTP-Anfragen akzeptieren, da sie noch kein SSL-Zertifikat hat.
DNS auf Beach umstellen
Wenn deine Instanz gut aussieht und bereit ist, in Betrieb zu gehen, kannst du das DNS deiner Domain(s) so einrichten, dass der Verkehr auf Beach landet. Die genauen Schritte hängen von deinem aktuellen Registrar / DNS-Anbieter ab, aber die meisten sollten dem folgenden Beispiel sehr ähnlich sein.
Domains mit einer Subdomain (z. B. www.example.com) können als normaler CNAME-Eintrag konfiguriert werden. Die "kanonische" Domain lautet dann ingress.h9acc4.flownative.cloud. Hier ist ein Beispiel für einen korrekten CNAME-Eintrag:
www.example.com. CNAME ingress.h9acc4.flownative.cloud.Zone apex / Stammdomäne
Domains ohne Subdomain (zum Beispiel example.com) sind etwas Besonderes. Sie werden "Zone Apex" oder "Root-Domain" genannt und dürfen keinen CNAME zu einer anderen Domain haben. Das Domänennamensystem verlangt, dass sie stattdessen einen "A"- oder "AAAA"-Eintrag haben, der auf eine IP-Adresse statt auf einen Domänennamen verweist.
Wenn du eine Root-Domain verwenden willst, brauchst du einen DNS-Anbieter, der die Emulation eines CNAME für Root-Domains unterstützt (er erstellt zwar einen A- oder AAAA-Eintrag, stellt aber sicher, dass dieser automatisch und immer auf die IP-Adresse der von dir angegebenen Domain zeigt). Diese speziellen CNAMEs werden je nach Anbieter etwas anders genannt - hier sind einige Beispiele:
- Cloudflare nennt sie "ACNAME"
- dnsimple nennt es "ALIAS"
- dnsmadeeasy nennt ihn "ANAME"
Das heißt: Du brauchst einen DNS-Dienst, der diese Art von speziellen CNAMEs unterstützt, um example.com auf Beach zu verweisen. Du solltest es vermeiden, einen A- oder AAAA-Eintrag zu erstellen und direkt die IP-Adresse von ingress.h9acc4.flownative.cloud verwenden, denn diese IP-Adresse kann sich in Zukunft ändern!
Der korrekte Ingress
Oben haben wir ingress.h9acc4.flownative.cloud verwendet. Falls dein Projekt in einem eigenen Cluster liegt, musst du den dazu passenden Ingress verwenden. Auf der Übersichts-Seite deiner Domain in Beach findest du eine Liste.
SSL-Zertifikate
Sobald die DNS-Änderungen für deine Domains aktiv sind, erhält Beach automatisch SSL-Zertifikate. Beach verwendet "Let's Encrypt" als Zertifikatsanbieter. Um ein Zertifikat zu erhalten, muss der HTTP-Verkehr für eine bestimmte Domain bei Beach landen, damit Beach nachweisen kann, dass es für diese Domain zuständig ist.
Sobald Beach erfolgreich ein Zertifikat für deine Domain erhalten hat, sorgt es automatisch dafür, dass es auf dem neuesten Stand bleibt und ein neues Zertifikat erhält, bevor das alte abläuft

Wildcard-Domains
Beach kann auch mit Wildcard-Domains umgehen. Diese legst du an, indem du im Domain-Namen einen Stern benutzt, also z.B. *.example.com. Das weitere Vorgehen bei der Zuweisung einer Domain zu einer Instanz bleibt gleich.
Damit für eine Wildcard-Domain ein SSL-Zertifikat ausgestellt werden kann, ist im DNS eine weitere Anpassung notwendig. Es muss ein weiterer CNAME-Eintrag _acme-challenge für die Domain angelegt werden, der auf _acme-challenge.certs.flownative.cloud zeigt. Hier ist ein Beispiel für einen korrekten CNAME-Eintrag:
_acme-challenge CNAME _acme-challenge.certs.flownative.cloud.Mehrere Domains hinzufügen
Sollen einer Instanz mehrere Domans hinzugefügt werden, ist es umständlich, dies jeweils einzeln zu tun. Dafür gibt es eine bessere Möglichkeit.
Melde dich in der Benutzeroberfläche von Beach an und navigiere zum Bereich "Domains" deiner Organisation. Klicke dann auf die Schaltfläche "Add many domains". Im folgenden Dialog kannst du dann je Zeile eine Domain einfügen. Und mit einem kleinen Trick sogar sofort Redirects und Instanz-Zuweisungen erledigen.
Hierzu einfach nach dem Domain-Namen einen Doppelpunkt einfügen, gefolgt von
- einem Domain-Namen, um einen Redirect anzulegen oder
- einer Instanz-UUID, um eine Zuweisung vorzunehmen.
Hier ein Beispiel:
example.com:www.example.com
www.example:com:d0dedd3d-355e-443c-8657-c59725d728bcLösen typischer Probleme
Vor allem, wenn du einen DNS-Dienst verwendest, der als Proxy fungiert (z. B. Cloudflare), gibt es eine Reihe von Einstellungen, die den automatischen Abruf von Zertifikaten stören können. Wenn Beach kein Zertifikat für deine Domain abrufen kann, lies weiter, um zu verstehen, wie dieser Prozess unter der Haube funktioniert.
Um ein neues Zertifikat von der Let's Encrypt-Zertifizierungsstelle zu erhalten, muss Beach beweisen, dass es dazu berechtigt ist. Dies wird durch eine "Herausforderung" realisiert: Let's Encrypt weist Beach an, mit einem bestimmten Token zu antworten, wenn es versucht, über eine spezielle URL auf die Domain zuzugreifen. Diese URL wird über HTTP angefordert (nicht über HTTPS, weil es - nun ja - noch kein Zertifikat für eine sichere Verbindung gibt) und sieht ungefähr so aus:
http://www.example.com/.well-known/acme-challenge/www.example.com
Deshalb ist es wichtig, dass jede Anfrage an deine Domain, die über HTTP und diesen speziellen Pfad erfolgt, den Beach Zertifikatsmanager erreichen kann. Außerdem ist es wichtig, dass diese URL auch in Zukunft funktioniert, denn Let's Encrypt-Zertifikate sind nur etwa 3 Monate lang gültig und müssen erneuert werden.
HTTP-zu-HTTPS-Weiterleitungen ausschalten
Eine Funktion, die von den meisten Proxy-Diensten angeboten wird, macht die Zertifikatsautomatisierung zunichte: Wenn der Dienst alle HTTP-Anfragen sofort auf HTTPS umleitet, gibt es für Let's Encrypt keine Möglichkeit, über HTTP auf die ".well-known" URL zuzugreifen.
Du musst diese Funktion ausschalten, damit die Zertifikate funktionieren.
Im Zweifelsfall kannst du versuchen, die Challenge-URL in deinem Browser aufzurufen (siehe oben). Sie sollte einen 404 Not Found Fehler oder das aktuelle Challenge-Token zurückgeben. Sie sollte dich nicht zu HTTPS umleiten oder etwas anderes zurückgeben.

Deaktiviere immer die HTTP-zu-HTTPS-Umleitung in Proxy-Diensten wie Cloudflare