Zurück zum Blog

Blog

Die eigene Domain auf einen Tagging-Server zeigen lassen: der CNAME, das Zertifikat und Cloudflare-Fehler 1014

Veröffentlicht · 3 Min. Lesezeit

Der erste Hostname, den Sie von uns bekommen, ist ein zufälliges Label unter signalhost.io. Er funktioniert, und für viele Websites reicht er – es ist bereits nicht googletagmanager.com. Aber eine Subdomain Ihrer eigenen Domain ist die Variante, die jede Filterliste und jede Browserregel überlebt, weil sie für den Browser schlicht Ihre Website ist. Dorthin braucht es einen DNS-Eintrag und ein paar Minuten. Es leicht falsch zu machen, erzeugt eine Fehlermeldung, die nichts auf Ihrer Seite erklären kann – deshalb hier das ganze Verfahren, samt Fehlerfall.

Warum eine Subdomain Ihrer eigenen Website

Zwei Gründe, und sie sind verschieden. Für einen Werbeblocker ist eine Anfrage Third-Party, wenn ihr Hostname auf einer Liste steht – signalhost.io steht heute auf keiner, könnte es aber morgen; ihreseite.de wird es nie. Für einen Browser ist ein Cookie, das eine Antwort von metrics.ihreseite.de setzt, ein First-Party-Cookie für ihreseite.de, mit der längeren Lebensdauer, die das bedeutet, während ein Cookie von einer anderen Domain gekappt oder verweigert wird. Der Tagging-Server ist in beiden Fällen derselbe. Der Hostname ändert, wie er behandelt wird.

Der Eintrag

Ein CNAME bei Ihrem DNS-Anbieter, der die gewählte Subdomain auf unseren DNS-only-Endpunkt zeigen lässt:

metrics.yoursite.com.   CNAME   tenants.signalhost.io.

Nicht auf Ihren zufälligen Tenant-Hostnamen, und nicht auf einen Wildcard. tenants.signalhost.io ist ein Name, den wir eigens dafür veröffentlichen, und warum es genau dieser Name sein muss, erklärt der nächste Abschnitt.

Liegt Ihre eigene Domain bei Cloudflare, legen Sie den Eintrag mit AUSgeschaltetem Proxy an – graue Wolke, „DNS only“. Ein proxied Eintrag würde die Anfragen Ihrer Besucher über Ihr Cloudflare-Konto zu uns leiten, und der Zertifikatsschritt unten kann darüber nicht abgeschlossen werden.

Cloudflare-Fehler 1014, und warum das Ziel DNS-only sein muss

Unsere eigenen Hostnamen liegen hinter Cloudflare. Zeigt ein Kunde seinen CNAME auf einen unserer proxied Namen – den Wildcard oder einen Tenant-Hostnamen –, kommt sein Traffic bei Cloudflare für einen Hostnamen an, der zu einem anderen Cloudflare-Konto als unserem gehört. Cloudflare verweigert das mit Fehler 1014, „CNAME Cross-User Banned“. Die Seite, die ihn zeigt, ist die von Cloudflare, erwähnt keinen von uns beiden, und nichts in Ihrem DNS, Ihrer Website oder Ihrem Browser erklärt ihn.

tenants.signalhost.io ist absichtlich unproxied: Es löst direkt zu unseren Servern auf, sodass ein CNAME darauf einfach funktioniert. Die DNS-Prüfung im Dashboard erkennt den Fall mit proxied Ziel namentlich und sagt, was zu ändern ist – aber schneller ist, ihn gar nicht erst zu bauen.

Das Zertifikat

Sobald der Eintrag auflöst, beantragen wir ein Let's-Encrypt-Zertifikat für Ihren Hostnamen. Die Validierung ist HTTP-01: Let's Encrypt ruft einen bestimmten Pfad über einfaches HTTP auf Port 80 vom Namen ab, und wir beantworten ihn. Einfaches HTTP, weil es noch kein Zertifikat gibt – genau das wird ja gerade beschafft –, und das ist der einzige unverschlüsselte Pfad, den unser Edge überhaupt beantwortet. Es ist ein Nonce-Vergleich; sonst ist auf diesem Weg nichts erreichbar.

Rechnen Sie mit ein paar Minuten. Das Dashboard zeigt drei Schritte der Reihe nach: Der CNAME löst auf, das Zertifikat wird ausgestellt, der Hostname liefert aus. Bleibt der Zertifikatsschritt hängen, während der CNAME grün ist, ist fast immer ein proxied Eintrag auf Ihrer Seite die Ursache – Cloudflare beantwortet die Validierungsanfrage mit seinem eigenen Zertifikat und seiner eigenen Seite, und Let's Encrypt sieht das Falsche.

Nachdem es ausliefert

Das Google-Tag in Ihrem Web-Container trägt die Server-Container-URL, und wir schreiben sie auf die eigene Domain um und veröffentlichen den Container neu, sobald der Hostname ausliefert – und zurück auf den Tenant-Hostnamen, wenn Sie die Domain entfernen. Das Snippet Ihrer Website ändert sich nicht; es lädt den Container, und der Container weiß, wohin gesendet wird.

Deshalb zählt beim Entfernen die Reihenfolge. Entfernen Sie erst die Domain im Dashboard, dann löschen Sie den DNS-Eintrag. Löschen Sie zuerst den Eintrag, zeigt der Container – bis das Dashboard es bemerkt – Ihre Besucher weiter auf einen Namen, der nicht mehr auflöst.

Wenn es nicht funktioniert

  • Fehler 1014 im Browser: Der CNAME zeigt auf einen proxied Namen von uns. Ändern Sie das Ziel auf tenants.signalhost.io.
  • CNAME grün, Zertifikat länger als fünfzehn Minuten ausstehend: Ihr Eintrag ist proxied. Stellen Sie die Wolke bei Ihrem DNS-Anbieter auf grau.
  • CNAME wird nie grün: Prüfen Sie auf einen konkurrierenden A- oder AAAA-Eintrag unter demselben Namen – ein CNAME kann nicht neben ihnen existieren – und geben Sie der Propagation bis zu einer Stunde.
  • Liefert aus, aber die Container-Seite zeigt keinen Traffic vom neuen Namen: Der Web-Container ist noch nicht neu veröffentlicht. Das passiert binnen ein paar Minuten, nachdem der Hostname live ist; die Container-Seite zeigt, auf welchen Hostnamen das Tag gerade zeigt.

Hör auf, Daten an Adblocker zu verlieren

Zehntausend Requests im Monat, kostenlos, so lange du willst. Vier Minuten, um herauszufinden, ob es hilft.