Anleitungen im Zusammenhang mit Beach

So weist du einer Beach Instanz eine Domäne 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 Tutorium 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 Reiter "Domains" deiner Organisation. Klicke dann auf die Schaltfläche "Domain hinzufügen", 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.

Versuchen Sie noch nicht, ein SSL-Zertifikat zu erhalten.

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 Umleitungs-/Pfeilsymbol neben der Domain example.com. In dem Dialogfeld gibst du 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 zu deiner Instanz. Klicke auf die Schaltfläche "Domäne zuweisen" und 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 euw1.flownative.cloud. Hier ist ein Beispiel für einen korrekten CNAME-Eintrag:

www.example.com. CNAME euw1.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"-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-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:

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-Eintrag zu erstellen und direkt die IP-Adresse von euw1.flownative.cloud verwenden, denn diese IP-Adresse kann sich in Zukunft ändern!

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

Lö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.