Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.8 KB

dead-host.md

File metadata and controls

57 lines (39 loc) · 2.8 KB

Dead-Host (404-Hosts)

Zweck

Verwaltung von "Dead Hosts" — Domains, die bewusst eine 404- oder Fehler-Seite ausliefern, ohne weiterzuleiten oder zu proxen.

Kontext

Dead-Hosts werden eingesetzt, um bekannte Domains "abzufangen" (z. B. nicht genutzte Subdomains, ehemalige Domains), damit sie nicht versehentlich auf den Default-Site-Handler fallen oder Crawler/Angreifer Informationen erhalten.

Wichtige Dateien

  • backend/internal/dead-host.js — Business-Logik
  • backend/models/dead_host.js — Objection.js-Modell mit JSON-Domainliste sowie Zertifikats- und Owner-Relation
  • backend/templates/dead_host.conf — Liquid-Template für leere/404-Server-Blöcke
  • backend/routes/nginx/dead_hosts.js — REST-API-Routen unter /api/nginx/dead-hosts
  • backend/lib/access/dead_hosts-*.json — RBAC-Regeln
  • frontend/src/pages/Nginx/DeadHosts/ — UI-Tabelle
  • frontend/src/modals/DeadHostModal.tsx — Bearbeitungs-Modal

Verhalten

  1. Benutzer legt einen Dead-Host mit Domain(s) und optionaler Custom-Konfiguration an.
  2. internal/dead-host.js validiert Berechtigungen und speichert.
  3. internal/nginx.js rendert das Template zu .conf-Datei unter /data/nginx/dead_host/.
  4. Eingehende Requests auf diese Domain erhalten standardmäßig HTTP 404.
  5. Optional kann über advanced_config eine eigene Nginx-Location definiert oder ein SSL-Zertifikat zugeordnet werden. INITIAL_DEFAULT_PAGE betrifft nur den Default-Server und ändert nicht die Antwort eines expliziten Dead-Hosts.

Aktualisierung und Antworten

  • Nach einem Update wird der erneut geladene Datensatz einschließlich Zertifikat zur Konfiguration verwendet. Dadurch gelten neue SSL-Einstellungen und advanced_config unmittelbar.
  • Der neue Nginx-Status wird in der Antwort zurückgegeben; expandierte Zertifikat-Metadaten werden bereinigt.
  • Regression: backend/test/internal/host-update-regressions.spec.js.

Abhängigkeiten

  • internal/host.js — gemeinsame Host-Hilfslogik
  • internal/nginx.js — Config-Generierung und Reload
  • internal/certificate.js — optionales Zertifikat
  • internal/audit-log.js — Protokollierung
  • internal/gitops.js — automatische Synchronisierung bei aktivem GitOps

Offene Fragen

Siehe zentrale Sammelseite Offene Fragen.

Erstellungsstatus und Konfigurationssperre

Auch die Erstellungsantwort übernimmt jetzt den von Nginx ermittelten Status. DNS-Zugangsdaten werden aus Host-Metadaten und Auditdaten entfernt; für Zertifikatsanforderungen stehen sie weiterhin zur Verfügung. Löschen und Deaktivieren verwenden dieselbe Nginx-Warteschlange wie Konfigurationsänderungen.

Verwandte Seiten