WERBEPLATZ VERFÜGBAR · PARTNERSCHAFTEN WILLKOMMEN

Konfiguration von Environment Secrets, persistenter PostgreSQL und Custom Domains in Replit Deployments für Produktivsysteme

365Finds Editorial
11.430 Wiki-Artikel erfasst

365 Wiki mit deiner KI nutzen

Kopiere den Prompt unten, füge ihn in deine gewohnte KI ein und stelle direkt deine Frage.

Vollständigen Skill herunterladen

Probiere es zuerst mit dem Prompt aus. Wenn du 365 Wiki häufig nutzt, installiere den vollständigen 365Wiki Skill, damit du ihn nicht jedes Mal einfügen musst. Ohne bevorzugte KI funktionieren auch die Webversionen von Gemini oder Microsoft Copilot.

Der Übergang von einem interaktiven Prototyp zu einer produktionsreifen Webanwendung erfordert drei unverzichtbare Infrastrukturbausteine: die sichere Isolierung sensibler Zugangsdaten, eine hochverfügbare und persistente relationale Datenbank sowie das Routing über eine eigene Domain mit automatisiert verwalteten TLS/SSL-Zertifikaten. Im Ökosystem von Replit wird dieser Veröffentlichungs- und Betriebsprozess über Replit Deployments (im Projekt-Editor über das Publishing-Tool erreichbar) abgewickelt. Replit bündelt Container-Orchestrierung, serverlose PostgreSQL-Datenbanken, Secret-Management und DNS-basierte Zertifikatsausstellung in einer durchgängigen Pipeline.

Dieser Leitfaden erklärt detailliert, wie Sie Umgebungsvariablen (Deployment Secrets) sicher konfigurieren, persistente PostgreSQL-Datenbanken mit korrekter SSL-Verbindungslogik anbinden und eigene Domains unter dauerhafter Beibehaltung der automatischen Zertifikatserneuerung einrichten.


1. Auswahl der passenden Deployment-Architektur

Bevor Datenbanken oder Zugangsdaten konfiguriert werden, muss im Editor unter Publishing → Adjust settings → Deployment type der passende Bereitstellungstyp gewählt werden:

Für Geschäftsanwendungen, die auf relationale Datenbanken zugreifen und geschützte API-Schlüssel verarbeiten, ist Autoscale oder Reserved VM das empfohlene Fundament.


2. Verwaltung von Produktionsumgebungsvariablen und Secrets

Sicherheitsvorfälle in der Produktion resultieren häufig aus versehentlich veröffentlichten API-Schlüsseln oder der Vermischung von Entwicklungs- und Produktivwerten. Replit trennt Variablen architektonisch in zwei strikt voneinander getrennte Gültigkeitsbereiche: Development Secrets und Deployment Secrets.

Das zweistufige Isolationsmodell

Konfigurationsschritte für die Produktion

  1. Trennung sensibler Daten von Konfigurationen: Unterscheiden Sie strikt zwischen geschützten Secrets (Stripe-Schlüssel, OpenAI-Tokens, OAuth-Client-Secrets), die im Ruhezustand via AES-256 verschlüsselt und per TLS übertragen werden, und nicht-sensiblen Configurations (wie LOG_LEVEL=info oder öffentliche CDN-Adressen).
  2. Eintragen in den Deployment Secrets: Öffnen Sie das Publishing-Tool, navigieren Sie zu Adjust settings und wählen Sie Deployment secrets. Tragen Sie die für die Produktionsumgebung benötigten Schlüssel-Wert-Paare ein oder überprüfen Sie diese.
  3. Erneute Veröffentlichung auslösen (Re-publish): Nach jeder Änderung an den Deployment Secrets muss auf Publish geklickt werden, damit das System ein neues Container-Image baut und die aktualisierten Umgebungsvariablen wirksam werden.

Zugriff im Anwendungscode

Secrets werden als Standard-Umgebungsvariablen des Betriebssystems bereitgestellt. Im Code dürfen keine Fallback-Schlüssel im Klartext hinterlegt werden.

Beispiel in Node.js / TypeScript:

const stripeApiKey = process.env.STRIPE_SECRET_KEY;
if (!stripeApiKey) {
  throw new Error("STRIPE_SECRET_KEY fehlt in der Produktionsumgebung");
}

Beispiel in Python:

import os

stripe_api_key = os.environ.get("STRIPE_SECRET_KEY")
if not stripe_api_key:
    raise RuntimeError("STRIPE_SECRET_KEY fehlt in der Produktionsumgebung")

Wichtiger Hinweis: Systemvariablen, die ausschließlich in der Entwicklungsvorschau existieren (wie REPLIT_DEV_DOMAIN), sind in Produktionscontainern nicht verfügbar. Nutzen Sie für Redirect-URLs oder Webhook-Adressen stets die konfigurierte Custom Domain oder explizite Umgebungsvariablen.


3. Persistente PostgreSQL-Datenbanken und SSL-Kompatibilität

Jedes Replit-Projekt verfügt über nativen Zugriff auf eine verwaltete PostgreSQL-Datenbank, jedoch unterscheiden sich Entwicklungs- und Produktionsinfrastruktur grundlegend voneinander.

Architekturunterschiede: Entwicklung (Helium) vs. Produktion (Neon)

Das automatische DATABASE_URL-Handling

Replit verwaltet die Variable DATABASE_URL vollständig automatisiert:

Der Standard-Pattern für SSL-Verbindungen

Wird SSL in der Entwicklung erzwungen, schlägt die Verbindung mit The server does not support SSL connections fehl. Wird SSL hingegen in der Produktion deaktiviert, verweigert Neon den Verbindungsaufbau. Die Lösung besteht in einer umgebungsabhängigen Konfiguration via NODE_ENV:

Node.js (pg-Verbindungs-Pool):

import { Pool } from "pg";

const isProduction = process.env.NODE_ENV === "production";

export const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: isProduction ? { rejectUnauthorized: false } : false,
});

Drizzle ORM Beispiel:

import { drizzle } from "drizzle-orm/node-postgres";
import { Pool } from "pg";

const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: process.env.NODE_ENV === "production" ? { rejectUnauthorized: false } : false,
});

export const db = drizzle(pool);

Lastspitzen abfangen: Connection Pooling

Im Autoscale-Modus starten bei plötzlichen Besucheranstiegen mehrere Instanzen parallel. Wenn jeder Container unbegrenzt Direktverbindungen zur Datenbank aufbaut, wird das Verbindungslimit (max_connections) von PostgreSQL schnell erreicht.

  1. Rufen Sie im Replit-Editor das Database-Werkzeug auf, um die Produktionsdatenbank einzusehen.
  2. Neon stellt einen Verbindungs-Pooler bereit, dessen Hostname das Suffix -pooler enthält (z. B. ep-xyz-pooler.region.neon.tech).
  3. Verwenden Sie den gepoolten Verbindungsstring für herkömmliche Lese- und Schreibvorgänge Ihrer Webanwendung und reservieren Sie die ungepoolte Direktverbindung für Datenbankmigrationen, die Transaktions-Locks auf Session-Ebene erfordern.

Sichere Migrationen und Deployment Previews

Bei destruktiven Schemaänderungen (Löschen von Spalten, Ändern von Datentypen oder Hinzufügen von NOT NULL-Feldern ohne Standardwert):


4. Eigene Domains (Custom Domains) und permanente TLS-Verifizierung

Veröffentlichte Anwendungen erhalten standardmäßig eine Subdomain unter *.replit.app. Für professionelle Online-Präsenzen ist die Verknüpfung einer eigenen Domain (sowohl Apex-Domain als auch Subdomains wie www) erforderlich.

Replit stellt TLS/SSL-Zertifikate (via Let's Encrypt / Google Trust) über automatische DNS-Validierung aus und erneuert diese eigenständig. Eine fehlerhafte DNS-Konfiguration oder das voreilige Löschen von Validierungs-Einträgen führt jedoch zu Zertifikatsausfällen.

Schritt-für-Schritt-Einrichtung

1. Domain im Publishing-Tool hinterlegen

  1. Öffnen Sie das Publishing-Tool und wählen Sie den Reiter Domains.
  2. Geben Sie die gewünschte Domain ein (z. B. example.com).
  3. Replit zeigt die Ziel-IPv4-Adresse für den A-Record sowie den individuellen Validierungswert für einen TXT-Record an.

2. DNS-Einträge beim Registrar konfigurieren

Melden Sie sich bei Ihrem DNS-Anbieter an (z. B. Cloudflare, Hetzner, IONOS, GoDaddy, Route 53) und erstellen Sie folgende Records:

TypHostname / NameWert / ZielZweck
A@ (oder Root)[Replit-IP-Adresse]Leitet Web-Traffic auf die Produktionscontainer
TXT@ (oder Root)replit-verify=xxxxxxxx...Verifiziert Inhaberschaft und ermöglicht TLS-Zertifikatsausstellung/-erneuerung

3. Kritische DNS-Fehler vermeiden

Subdomains und kanonische www-Weiterleitung

In der Routing-Architektur von Replit sind Root-Domains und Subdomains getrennte Einheiten:


5. Checkliste für den Produktionsstart

Bevor Sie echten Nutzer-Traffic auf Ihr Replit Deployment leiten, prüfen Sie folgende Punkte:

  1. Audit der Umgebungsvariablen:
    • Unter Publishing → Adjust settings → Deployment secrets sind alle produktionsrelevanten API-Keys vollständig vorhanden.
    • Keine Klartext-Passwörter oder Test-Keys befinden sich im Code-Repository.
    • Ein abschließendes Re-publish wurde ausgeführt, um die Secrets im Container zu aktivieren.
  2. Datenbank-Konnektivität:
    • Der Datenbank-Treiber aktiviert SSL abhängig von NODE_ENV === "production".
    • Die Anwendung nutzt die automatisch bereitgestellte DATABASE_URL ohne manuelle Überschreibungen.
    • Container überstehen Lastspitzen ohne Verbindungsabbrüche oder Verbindungsüberlastung.
  3. Domain- und Zertifikatsstatus:
    • Alle eingetragenen Domains zeigen im Replit-Reiter den Status Verified (grünes Badge).
    • Der replit-verify TXT-Record ist dauerhaft in der DNS-Zone gesichert.
    • Die Website lädt auf Desktop und Mobilgeräten fehlerfrei über HTTPS.
  4. Monitoring und Region:
    • Die Monitoring tools im Publishing-Panel sind aktiviert, um im Störungsfall sofortige E-Mail-Warnungen zu erhalten.
    • Die gewählte Hosting-Region (Deployment geography) befindet sich in geografischer Nähe zu Ihrer Hauptnutzergruppe (Hinweis: Die Region ist nach dem Deployment fixiert).

Durch die saubere Trennung von Entwicklungs- und Produktivschlüsseln, den Einsatz umgebungssensitiver SSL-Treiber und die dauerhafte Hinterlegung der DNS-Validierungseinträge schaffen Sie eine hochgradig belastbare, skalierbare und sichere Produktionsumgebung auf Replit Deployments.


Referenzen