Domains
Ein Hostname, der auf deine App zeigt, mit einem TLS-Zertifikat, das für dich ausgestellt und erneuert wird.
Auf dieser Seite
Was das ist
Eine Domain ist die öffentliche Adresse einer App. Du gibst klickops einen Hostnamen und die zugehörige App. klickops leitet den Verkehr dorthin, stellt ein Zertifikat aus und erneuert es, bevor es abläuft. Im Container richtest du dafür nichts ein.
Eine Domain bedient meistens eine App. Das ist Absicht: Ein Hostname ist eine Eigenschaft der App, auf die er zeigt. Deshalb verwaltest du ihn im Tab Domains der App und nicht in einer eigenen Liste von Routing-Regeln. Teilen sich mehrere Apps über verschiedene Pfade einen Hostnamen, bearbeitest du ihn auf der Seite Domains des Projekts.
Wann du das brauchst
- Deine App soll aus dem Browser erreichbar sein.
- Du willst HTTPS, ohne eine Zertifikatsdatei anzufassen.
- Du ziehst einen Hostnamen von einem anderen Anbieter um und willst, dass das Zertifikat schon da ist, bevor du das DNS umstellst.
Um eine andere Anwendung im selben Projekt zu erreichen, brauchst du keine Domain. Apps in einem Projekt erreichen einander über den Namen im internen Netz. Einem internen Dienst einen öffentlichen Hostnamen zu geben vergrössert nur seine Angriffsfläche.
Zu einem Hostnamen kommen
Es gibt zwei Wege. Der erste kommt ganz ohne DNS aus.
Eine klickops-Subdomain. Wähl Add domain, lass klickops subdomain ausgewählt, und klickops vergibt eine unter seiner eigenen Wildcard. Sie löst sofort auf, mit bereits gültigem Zertifikat. Im gehosteten Betrieb ist das Label eine zufällige Zeichenfolge und nicht der Name deines Projekts, damit nichts über deine Mandanten im öffentlichen DNS landet. Selbst betriebene Installationen nutzen die lesbare Form app.projekt.deine-basis-domain.
Deine eigene Domain. Hostname hinzufügen, dann auf klickops zeigen lassen.
- Öffne die App, geh auf Domains und füg den Hostnamen hinzu, der dir gehört. Im gehosteten Betrieb verifiziert deine Organisation die Domain vorher, siehe unten.
- klickops zeigt dir den
CNAME-Eintrag, den du anlegen musst. Für eine Root-Domain wieacme.chnimmst du mit demselben Ziel den ALIAS- oder ANAME-Eintrag deines Anbieters oder CNAME-Flattening. - Leg diesen Eintrag bei deinem DNS-Anbieter an. Ein Wildcard-
CNAMEdeckt alle Subdomains auf einmal ab, falls du weitere planst. - Warte, bis die Prüfung grün wird. klickops fragt das DNS ab und stellt das Zertifikat aus, sobald der Eintrag auflöst. Das dauert meistens ein bis zwei Minuten.
Füg die Domain hinzu, bevor du produktiven Verkehr umlegst. Das Zertifikat entsteht, sobald das DNS auflöst. Stellst du erst nach der grünen Prüfung um, sieht kein Besucher je eine Warnung.
Zuerst die Domain verifizieren
Im gehosteten Betrieb beweist eine Organisation einmal, dass ihr eine Domain gehört. Danach kann jedes Projekt darin diese Domain und alle ihre Subdomains nutzen. Niemand sonst kann einen Hostnamen darunter anhängen, auch keinen, der noch auf klickops zeigt.
- Öffne Domains in der Seitenleiste deiner Organisation und wähl Verify a domain. Das dürfen Owner und Admins, alle anderen sehen die Liste.
- Leg bei deinem DNS-Anbieter den angezeigten
TXT-Eintrag an: den Namen_klickops-challenge.<deine Domain>und den Wertklickops-verify=…. - Wähl Check again. Sobald der Eintrag gefunden ist, steht die Domain auf Verified, und du darfst den Eintrag wieder entfernen.
Verifizier die Domain, die du registriert hast (acme.ch), nicht jeden Hostnamen: shop.acme.ch und www.acme.ch sind damit abgedeckt. Domains, die schon vor der Verifizierung liefen, laufen weiter. Selbst betriebene Installationen überspringen diesen Schritt.
Einstellungen im Überblick
| Einstellung | Standard | Was sie bewirkt |
|---|---|---|
| Hostname | keiner | Der Name, den Besucher eintippen. Eine Domain-Ressource pro Hostname. |
| App | erforderlich | Welche App den Verkehr bekommt, und auf welchem Port. |
| HTTPS | an | Stellt ein Zertifikat aus und erneuert es. Lass es an. |
| Always use HTTPS | an | Schickt unverschlüsselte Anfragen auf die sichere Adresse. |
| Require klickops login | aus | Nur Mitglieder des Projekts kommen hinein, alle anderen werden zur Anmeldung geschickt. Ein internes Werkzeug braucht damit keinen eigenen Anmeldecode. |
| Routes | / | Leitet nur ein Pfad-Präfix auf eine App, wenn sich mehrere Apps einen Hostnamen teilen. |
Grenzen und Fallstricke
- Ein Hostname, eine Domain-Ressource. Der vorgelagerte Controller führt zwei Definitionen desselben Hosts nicht zusammen. Ein doppelter Hostname wird deshalb abgelehnt statt stillschweigend halb übernommen.
- Zertifikate brauchen öffentliches DNS. Der Aussteller prüft über das Internet, dass dir der Name gehört. Ein Hostname, der nur intern auflöst, bekommt kein öffentliches Zertifikat.
- Apex-Domains brauchen einen Alias-Eintrag. Die meisten DNS-Anbieter können auf einer Apex-Domain kein
CNAMEsetzen. Nutz ihren Alias-Eintrag, oder zeig mitwwwauf klickops und leite die Apex-Domain dorthin weiter. - Eine Domain zieht mit ihrem DNS um. Beweist später eine andere Organisation, dass sie eine von dir verifizierte Domain kontrolliert, geht die Domain an sie über und steht in deiner Liste als anderswo verifiziert. Deine laufenden Domains antworten weiter, aber um eine davon zu ändern, musst du die Domain wieder verifizieren.
- Eigene Domains hängen vom Tarif ab. Im Free-Tarif laufen Apps nur unter ihrer klickops-Subdomain, bezahlte Tarife enthalten pro Organisation eine feste Zahl eigener Domains.
- Keine Wildcard-Zertifikate im gehosteten Betrieb. Jede Adresse bekommt ihr eigenes Zertifikat. Willst du ein vorhandenes nutzen, lad es ins Projekt hoch und wähl es als Certificate der Domain.
- Eine Domain zu entfernen wirkt sofort. Der Verkehr endet im Moment des Löschens. Verschieb also zuerst das DNS, wenn der Name produktiv ist.
Verwandt
- Apps ist das, worauf eine Domain zeigt.
- Eine Domain gibt der App eine Adresse. Wer sie benutzen darf, regelt die Projekt-Firewall.