Sprache wechseln
Design wechseln

OpenAI-API immer Timeout? Mit Workers einen privaten Kanal aufbauen – kostenlos und stabiler

Einleitung

Letzte Woche wollte ich eine ChatGPT-App bauen – beim API-Aufruf aus dem Frontend kam Timeout: OpenAI ist in manchen Regionen nicht direkt erreichbar. Gekaufte Proxy-Dienste wirkten unzuverlässig, und das Leak-Risiko für den API Key war zu groß. Ein VPS kostet monatlich Geld und erfordert Server-Setup und Wartung.

Dann entdeckte ich Cloudflare Workers: null Kosten, in 5 Minuten einsatzbereit. Seit über zwei Monaten läuft es stabil – oft schneller als viele kostenpflichtige Proxies. Dieser Artikel zeigt den kompletten Aufbau inklusive einsatzbereitem Code.

Warum Cloudflare Workers?

100.000/Tag
Kostenloses Anfragekontingent
300+
Globale CDN-Knoten
5 Minuten
Deployment-Zeit
Source: Offizielle Cloudflare-Daten

Null Kosten – für Einzelentwickler ausreichend

Der Free-Plan bietet 100.000 Anfragen pro Tag, 1.000 pro Minute. Klingt zu gut? Am Anfang dachte ich das auch. In der Praxis reicht das für persönliche Projekte, Lernen und kleine Apps vollkommen.

Rechnen wir: Bei 2 Sekunden pro Anfrage und 8 Stunden Dauerbetrieb sind das etwa 2.000 Aufrufe – weit unter dem Limit von 100.000.

Kein eigener Server nötig

Klassisch: VPS mieten, Nginx als Reverse Proxy konfigurieren, Ausfallzeiten mitdenken. Workers brauchen das nicht – Cloudflare übernimmt die Infrastruktur, Sie schreiben nur wenige Zeilen Code.

Workers laufen im globalen CDN von Cloudflare – theoretisch schneller als ein einzelner selbst betriebener Server. Über 300 Städte weltweit.

API-Schlüssel natürlich geschützt

Besonders wichtig: Ruft das Frontend OpenAI direkt auf, liegt der Key im Browser offen – jeder mit DevTools sieht ihn. Mit Workers als Mittelschicht ruft das Frontend nur Ihre Worker-URL auf; der echte API Key liegt sicher in Cloudflare-Umgebungsvariablen.

"Im August 2025 kooperierten Cloudflare und OpenAI: Open-Source-Modelle von OpenAI direkt in Workers AI integriert – 10.000 kostenlose Neurons pro Tag"

- Offizielle Cloudflare-Ankündigung

Neuer Bonus 2025

Seit August 2025 sind OpenAI-Open-Source-Modelle auch in Workers AI verfügbar. Neben dem Proxy der Original-API können Sie Cloudflare-Modelle nutzen – 10.000 Neurons pro Tag gratis.

Vorbereitung

Sehr überschaubar. Sie brauchen:

Konten und Ressourcen:

  • Cloudflare-Konto (kostenlose Registrierung, wenige Minuten)
  • OpenAI- oder Claude-API-Key (haben Sie vermutlich schon)
  • Domain (optional – Workers liefern eine kostenlose .workers.dev-Subdomain)

Technische Voraussetzungen:

  • Grundkenntnisse JavaScript (fetch reicht)
  • Basiswissen zu HTTP

Zeitaufwand:

  • Erstes Setup: 5–10 Minuten
  • Danach: etwa 3 Minuten

Praxis: OpenAI-Proxy in 5 Minuten

Schritt 1: Worker anlegen

Cloudflare-Dashboard öffnen, links Workers & Pages wählen. Create ApplicationCreate Worker.

Cloudflare vergibt einen Zufallsnamen (z. B. aged-shadow-1234) – umbenennen nach Wunsch, z. B. openai-proxy. Deploy klicken.

Der Worker läuft – macht aber noch nichts.

Schritt 2: Code schreiben

Edit Code öffnen und folgenden Code einfügen:

export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    // Domain durch OpenAI-API-Adresse ersetzen
    url.hostname = 'api.openai.com';
    // Neue Anfrage erstellen
    const newRequest = new Request(url, {
      method: request.method,
      headers: request.headers,
      body: request.body
    });
    // Anfrage weiterleiten und Antwort zurückgeben
    const response = await fetch(newRequest);
    // CORS-Cross-Origin-Problem behandeln
    const newResponse = new Response(response.body, response);
    newResponse.headers.set('Access-Control-Allow-Origin', '*');
    newResponse.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    newResponse.headers.set('Access-Control-Allow-Headers', 'Content-Type, Authorization');
    return newResponse;
  }
};

Kurz erklärt:

  1. Anfrage vom Frontend empfangen
  2. Hostname auf api.openai.com setzen
  3. Anfrage an OpenAI weiterleiten
  4. Antwort unverändert zurückgeben
  5. CORS mitbehandeln

Save and Deploy klicken.

Schritt 3: Testen

Nach dem Deployment erhalten Sie eine Worker-URL, z. B. https://openai-proxy.IhrName.workers.dev.

Mit curl testen (YOUR_API_KEY durch Ihren OpenAI-Key ersetzen):

curl https://openai-proxy.IhrName.workers.dev/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Bei normaler OpenAI-Antwort: geschafft!

Erweitert: Mehrere KI-Dienste

Claude-API-Proxy

Claude unterscheidet sich vor allem in den Request-Headern. Code anpassen:

export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    // Anhand des Pfads den Dienst bestimmen
    if (url.pathname.startsWith('/claude')) {
      // /claude-Präfix entfernen, an Anthropic weiterleiten
      url.pathname = url.pathname.replace('/claude', '');
      url.hostname = 'api.anthropic.com';
    } else {
      // Standard: OpenAI
      url.hostname = 'api.openai.com';
    }
    const newRequest = new Request(url, {
      method: request.method,
      headers: request.headers,
      body: request.body
    });
    const response = await fetch(newRequest);
    const newResponse = new Response(response.body, response);
    newResponse.headers.set('Access-Control-Allow-Origin', '*');
    return newResponse;
  }
};

Aufruf von /claude/v1/messages leitet zur Claude-API weiter.

Gemini-API-Proxy

Gemini-Endpunkt: generativelanguage.googleapis.com – eine weitere Bedingung reicht:

if (url.pathname.startsWith('/gemini')) {
  url.pathname = url.pathname.replace('/gemini', '');
  url.hostname = 'generativelanguage.googleapis.com';
}

Ein Worker für drei KI-Dienste.

Sicherheits-Best Practices

API Key nicht hardcoden

Manche Tutorials schreiben den Key direkt in den Worker-Code – bitte nicht! Code liegt im Klartext vor und kann versehentlich geteilt werden.

Richtig: Umgebungsvariablen. In den Worker-Einstellungen Variables and Secrets:

  • Name: OPENAI_API_KEY
  • Wert: Ihr API Key
  • Typ: Secret (verschlüsselt)

Im Code:

export default {
  async fetch(request, env) {
    // API Key aus Umgebungsvariable lesen
    const apiKey = env.OPENAI_API_KEY;
    // Request-Header anpassen, API Key setzen
    const headers = new Headers(request.headers);
    headers.set('Authorization', `Bearer ${apiKey}`);
    // Rest wie zuvor...
  }
};

Das Frontend muss keinen API Key mehr mitschicken.

Eigenen Auth-Token hinzufügen

Wenn die Worker-URL bekannt wird und Missbrauch droht:

export default {
  async fetch(request, env) {
    // Custom Token prüfen
    const authToken = request.headers.get('X-Custom-Auth');
    if (authToken !== env.MY_SECRET_TOKEN) {
      return new Response('Unauthorized', { status: 401 });
    }
    // Nach erfolgreicher Prüfung weiter verarbeiten...
  }
};

MY_SECRET_TOKEN als Secret setzen; Frontend sendet den Header X-Custom-Auth.

Nutzung überwachen

Unter Analytics im Dashboard: tägliches Volumen, Fehlerrate usw. Regelmäßig prüfen, bevor das Free-Limit erreicht ist.

Notifications: Regel anlegen, die bei Annäherung an 100.000 Anfragen per E-Mail warnt.

Häufige Probleme und Lösungen

Langsame Antworten oder Timeout

Ungünstiger Edge-Knoten kann die Latenz erhöhen.

Lösung: Custom Domain binden. Cloudflare optimiert die Route – oft schneller als .workers.dev.

In den Worker-Einstellungen: TriggersAdd Custom Domain, Domain eingeben (z. B. api.ihredomain.com), DNS-Eintrag wie angezeigt setzen.

403- oder 401-Fehler

Meist API-Key-Probleme:

  1. Name der Umgebungsvariable mit Code abgleichen
  2. Key gültig und Guthaben vorhanden?
  3. Regionale Limits bei OpenAI/Claude (Workers sind global, manche Knoten können auffallen)

Debug-Tipp – Logging:

console.log('API Key:', env.OPENAI_API_KEY ? 'gesetzt' : 'nicht gesetzt');

Logs unter Logs im Worker-Dashboard.

Free-Kontingent reicht nicht

Bei kommerziellen Projekten über 100.000 Anfragen/Tag:

  • Paid-Plan: $5/Monat, 10 Mio. Anfragen
  • Überschuss: $0,50 pro 1 Mio. Anfragen

Für mittlere Apps oft günstiger als ein VPS – ohne Server-Wartung.

$5/Monat
Einstiegspreis Paid-Plan
10 Mio.
Anfragen im Paid-Plan
$0,50
Pro 1 Mio. Anfragen darüber hinaus
Source: Cloudflare-Preise

Optimierung:

  1. Frontend-Cache – gleiche Anfragen nicht wiederholen
  2. Batch-APIs nutzen, wo möglich
  3. In der Entwicklung Mock-Daten statt Live-API

Fazit

Drei Kernvorteile des Workers-Proxy:

  • Null Kosten: Free-Kontingent reicht für persönliche Entwicklung
  • Null Einstiegshürde: Setup in 5 Minuten, unter 30 Zeilen Code
  • Null Leak-Risiko: API Key sicher in Umgebungsvariablen

Ideal für Lernen, Demos und kleine Projekte. Wenn Sie einen stabilen Zugang zu KI-APIs suchen, lohnt sich Workers.

Legen Sie jetzt los – Artikel bookmarken für spätere Referenz. Andere Stolpersteine? Gerne in den Kommentaren.

Empfehlenswerte Open-Source-Projekte: chatgptProxyAPI und worker-openai-proxy – klarer Code auf GitHub.

Welche Lösung nutzen Sie für KI-API-Zugriff? Schreiben Sie in die Kommentare!

FAQ

Reicht die kostenlose Cloudflare-Workers-Version?
Für persönliche Entwicklung und kleine Projekte völlig ausreichend.

Kostenloses Kontingent:
• 100.000 Anfragen pro Tag
• 1.000 pro Minute
• Selbst bei 8 Stunden ununterbrochener Nutzung fallen nur etwa 2.000 Anfragen an

Nur bei kommerziellen Projekten oder hoher Last lohnt sich die Paid-Version ($5/Monat, 10 Mio. Anfragen).
Ist ein Workers-Proxy langsamer als eine direkte OpenAI-Verbindung?
Theoretisch kommen 50–100 ms Latenz dazu – in der Praxis fällt das kaum auf.

Vorteile:
• Cloudflare betreibt über 300 CDN-Knoten weltweit
• In manchen Regionen ist Workers schneller als eine direkte OpenAI-Verbindung

Mit Custom Domain optimiert Cloudflare die Route zusätzlich.
Wie schütze ich den API Key vor Leaks?
API Key als Secret in Cloudflare-Umgebungsvariablen speichern – im Frontend-Code erscheint kein Schlüssel.

Zusätzliche Maßnahmen:
• Eigenen Auth-Token (X-Custom-Auth-Header)
• Nur Clients mit Token dürfen aufrufen
• Bei Sorge vor URL-Leaks: Custom Domain und IP-Whitelist
Kann ein Worker OpenAI, Claude und Gemini gleichzeitig proxen?
Ja.

Unterscheidung per Pfadpräfix:
• Standardpfad → OpenAI
• /claude → Claude
• /gemini → Gemini

Ein Worker für alle drei Dienste – Code unter 50 Zeilen.
Wie überwache ich Nutzung und Kosten?
Im Cloudflare-Dashboard unter Workers Analytics:
• Anfragevolumen
• Fehlerrate
• Antwortzeiten

Notifications-Regeln einrichten, z. B. E-Mail bei Annäherung an 100.000 Anfragen.

Paid-Pläne bieten detaillierte Logs und Tracing.

4 Min. Lesezeit · Veröffentlicht am: 1. Dez. 2025 · Aktualisiert am: 8. Juni 2026

Ähnliche Beiträge

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen