Um Ihre Dokumentation unter einem benutzerdefinierten Unterpfad wie yoursite.com/docs mit AWS Route 53 und CloudFront zu hosten, müssen Sie Ihren DNS-Provider so konfigurieren, dass er auf Ihre CloudFront-Distribution zeigt.

Repository-Struktur

Ihre Dokumentationsdateien müssen in Ihrem Repository so organisiert sein, dass sie der gewählten Subpfadstruktur entsprechen. Wenn Sie Ihre Dokumentation beispielsweise unter yoursite.com/docs bereitstellen möchten, erstellen Sie ein Verzeichnis docs/ mit allen Dokumentationsdateien.

Übersicht auf hoher Ebene

Leiten Sie den Traffic mit der Cache-Richtlinie CachingDisabled an diese Pfade:
  • /.well-known/acme-challenge/* – erforderlich für die Let’s-Encrypt-Zertifikatsvalidierung
  • /.well-known/vercel/* – erforderlich für die Domainvalidierung
  • /docs/* – erforderlich für Subpfad-Routing
  • /docs/ – erforderlich für Subpfad-Routing
Leiten Sie den Traffic mit der Cache-Richtlinie CachingEnabled an diesen Pfad:
  • /mintlify-assets/_next/static/*
  • Default (*) – die Startseite Ihrer Website
Alle Behaviors müssen die Origin Request Policy AllViewerExceptHostHeader verwenden. CloudFront „Behaviors“-Seite mit 4 Behaviors: /docs/*, /docs, Default und /.well-known/*.

CloudFront-Verteilung erstellen

  1. Navigiere in der AWS-Konsole zu CloudFront.
  2. Wähle Create distribution.
Seite „CloudFront Distributions“ mit hervorgehobener Schaltfläche „Create distribution“.
  1. Gib für die Origin-Domain [SUBDOMAIN].mintlify.dev ein, wobei [SUBDOMAIN] die eindeutige Subdomain deines Projekts ist.
Seite „CloudFront Create distribution“ mit „acme.mintlify.dev“ als Origin-Domain.
  1. Aktiviere bei „Web Application Firewall (WAF)“ die Sicherheitsschutzmaßnahmen.
Optionen der Web Application Firewall (WAF) mit ausgewählter Option „Enable security protections“.
  1. Die restlichen Einstellungen sollten auf den Standardwerten bleiben.
  2. Wähle Create distribution.

Standard-Ursprung hinzufügen

  1. Nachdem Sie die Distribution erstellt haben, navigieren Sie zum Tab „Origins“.
Eine CloudFront-Distribution mit dem Tab „Origins“ hervorgehoben.
  1. Ermitteln Sie die Staging-URL, die Ihrer Hauptdomain entspricht. Dies hängt stark davon ab, wie Ihre Landingpage gehostet wird. Die Mintlify-Staging-URL ist beispielsweise mintlify-landing-page.vercel.app.
Wenn Ihre Landingpage auf Webflow gehostet wird, verwenden Sie die Staging-URL von Webflow. Diese endet auf .webflow.io.Wenn Sie Vercel verwenden, nutzen Sie die Domain .vercel.app, die für jedes Projekt verfügbar ist.
  1. Erstellen Sie einen neuen Origin und fügen Sie Ihre Staging-URL als „Origin domain“ hinzu.
CloudFront-Seite „Create origin“ mit einem hervorgehobenen Eingabefeld „Origin domain“.
An diesem Punkt sollten Sie zwei Origins haben: einen mit [SUBDOMAIN].mintlify.app und einen weiteren mit Ihrer Staging-URL.
CloudFront-Seite „Origins“ mit zwei Origins: einer für mintlify und ein weiterer für mintlify-landing-page.

Verhaltensregeln festlegen

Verhaltensregeln in CloudFront steuern die Subpfad-Logik. Grundsätzlich möchten wir folgende Logik einrichten:
  • Wenn ein Nutzer auf Ihrem benutzerdefinierten Subpfad landet, gehe zu [SUBDOMAIN].mintlify.dev.
  • Wenn ein Nutzer auf einer anderen Seite landet, gehe zur aktuellen Landingpage.
  1. Navigieren Sie zum Tab „Behaviors“ Ihrer CloudFront-Distribution.
Tab „Behaviors“ in CloudFront hervorgehoben.
  1. Wählen Sie die Schaltfläche Create behavior und erstellen Sie die folgenden Verhaltensregeln.

/.well-known/*

Erstellen Sie Behaviors für Vercel-Domainverifizierungspfade mit einem Path pattern von /.well-known/* und setzen Sie Origin and origin groups auf die URL Ihrer Docs. Wählen Sie bei „Cache policy“ CachingDisabled, damit diese Verifizierungsanfragen ohne Zwischenspeicherung durchgehen.
CloudFront-Seite „Create behavior“ mit „Path pattern“ „/.well-known/*“ und „Origin and origin groups“, die auf die Staging-URL zeigen.
Wenn /.well-known/* zu allgemein ist, kann es für Vercel mindestens auf 2 Behaviors eingegrenzt werden:
  • /.well-known/vercel/* – Erforderlich für die Vercel-Domainverifizierung
  • /.well-known/acme-challenge/* – Erforderlich für die Let’s-Encrypt-Zertifikatsverifizierung

Dein benutzerdefinierter Unterpfad

Erstelle ein Behavior mit einem Path pattern für deinen gewünschten Unterpfad, zum Beispiel /docs, und setze Origin and origin groups auf die .mintlify.dev-URL (in unserem Fall acme.mintlify.dev).
  • Setze „Cache policy“ auf CachingOptimized.
  • Setze „Origin request policy“ auf AllViewerExceptHostHeader.
  • Setze „Viewer Protocol Policy“ auf Redirect HTTP to HTTPS.
CloudFront-Seite „Create behavior“ mit einem „Path pattern“ von „/docs/*“ und „Origin and origin groups“, die auf die URL acme.mintlify.dev zeigen.

Ihr benutzerdefinierter Unterpfad mit Wildcard

Erstellen Sie ein Verhalten mit einem Path pattern Ihres gewählten Unterpfads, gefolgt von /*, z. B. /docs/*, und Origin and origin groups, die auf dieselbe .mintlify.dev-URL verweisen. Diese Einstellungen sollten exakt dem Verhalten für Ihren Basis-Unterpfad entsprechen – mit Ausnahme des Path pattern.
  • Setzen Sie „Cache policy“ auf CachingOptimized.
  • Setzen Sie „Origin request policy“ auf AllViewerExceptHostHeader.
  • Setzen Sie „Viewer protocol policy“ auf Redirect HTTP to HTTPS.

/mintlify-assets/_next/static/*

  • Setze „Cache policy“ auf CachingOptimized
  • Setze „Origin request policy“ auf AllViewerExceptHostHeader
  • Setze „Viewer protocol policy“ auf Redirect HTTP to HTTPS

Default (*)

Zum Schluss bearbeiten wir das Verhalten Default (*).
Eine CloudFront-Distribution mit dem ausgewählten Verhalten „Default (*)“ und hervorgehobener Schaltfläche „Edit“.
  1. Ändern Sie bei Origin and origin groups des Standardverhaltens die Einstellung auf die Staging-URL (in unserem Fall mintlify-landing-page.vercel.app).
CloudFront-Seite „Edit behavior“ mit hervorgehobener Eingabe „Origin and origin groups“.
  1. Wählen Sie Save changes.

Prüfen, ob Behaviors korrekt eingerichtet sind

Wenn Sie die oben beschriebenen Schritte befolgt haben, sollten Ihre Behaviors so aussehen:
CloudFront-Seite „Behaviors“ mit 4 Behaviors: /docs/*, /docs, Default und /.well-known/*.

Vorschau der Distribution

Sie können jetzt testen, ob Ihre Distribution korrekt eingerichtet ist, indem Sie zum Tab „General“ gehen und die URL beim Distribution domain name aufrufen.
CloudFront-Tab „General“ mit hervorgehobener URL „Distribution domain name“.
Alle Seiten sollten auf Ihre Haupt-Landingpage verweisen. Wenn Sie jedoch Ihren gewählten Unterpfad, zum Beispiel /docs, an die URL anhängen, sollten Sie sehen, dass sie zu Ihrer Mintlify-Dokumentationsinstanz führt.

Mit Route 53 verbinden

Jetzt bringen wir die Funktionalität der CloudFront-Distribution auf Ihre primäre Domain.
Für diesen Abschnitt können Sie auch auf die offizielle AWS-Anleitung zu Configuring Amazon Route 53 to route traffic to a CloudFront distribution verweisen.
  1. Navigieren Sie in der AWS-Konsole zu Route 53.
  2. Navigieren Sie zur „Hosted zone“ Ihrer primären Domain.
  3. Wählen Sie Create record.
Route 53 „Records“-Seite mit hervorgehobener Schaltfläche „Create record“.
  1. Aktivieren Sie „Alias“ und wählen Sie unter Route traffic to die Option „Alias to CloudFront distribution“.
Route 53 „Create record“-Seite mit hervorgehobenem „Alias“-Schalter und dem Menü „Route traffic to“.
  1. Wählen Sie Create records.
Möglicherweise müssen Sie den vorhandenen A-Record entfernen, falls bereits einer existiert.
Ihre Dokumentation ist nun unter dem gewählten Unterpfad Ihrer primären Domain live.
Nach der Konfiguration Ihres DNS sind benutzerdefinierte Subdomains in der Regel innerhalb weniger Minuten verfügbar. Die DNS-Propagation kann manchmal 1–4 Stunden dauern und in seltenen Fällen bis zu 48 Stunden. Wenn Ihre Subdomain nicht sofort verfügbar ist, warten Sie bitte zunächst ab, bevor Sie mit der Fehlerbehebung beginnen.