Gerade irgendwo auf Stack Overflow ist wieder jemand überzeugt, dass Axios bei HTTPS-Proxys "heimlich versagt". Das ist eine der meistzitierten Behauptungen in Node.js-Proxy-Tutorials – und sie beschreibt die aktuelle Version, die ich für diesen Leitfaden getestet habe, nicht. Ich habe ein lokales Test-Setup mit echten HTTP- und HTTPS-Origins hinter zwei Proxys aufgebaut, und Axios 1.19.0 hat die HTTPS-Anfrage sauber per CONNECT-Tunnel geleitet, statt den Proxy zu umgehen.
Das heißt aber nicht, dass die Probleme erfunden wären. Ältere Axios-Versionen hatten echte Bugs (siehe Issue #3384 und Issue #4531 als Belege), und neuere Node-Releases bringen zusätzlich einen zweiten Pfad für Umgebungs-Proxys mit, der sorgfältig konfiguriert werden sollte. In diesem Guide zeige ich, was in Axios 1.19.0 heute tatsächlich funktioniert, wie Sie einen Proxy auf alle gängigen Arten in Ihre Requests einhängen, wie Sie mit Interceptors eine Rotationslogik aufbauen, die fast kein Tutorial erklärt, und eine komplette Fehler-zu-Lösung-Tabelle für den Fall, dass es doch mal schiefgeht.
Was ist ein Axios-Proxy eigentlich – und warum ist das in Node.js wichtig?
Ein Proxy ist in Axios-Kontext einfach ein Vermittler zwischen Ihrem Node-Prozess und der Zielseite. Ihre Anfrage geht zuerst an den Proxy, der Proxy leitet sie weiter, und die Zielseite sieht die IP-Adresse des Proxys statt Ihrer eigenen. Genau das ist der Trick.
Entwickler nutzen das aus verschiedenen Gründen: um Websites zu scrapen, die Anfragen drosseln oder nach IP blocken, um zu testen, wie sich eine App aus einer anderen Region verhält, um Traffic über einen Unternehmens-Gateway zu routen oder einfach um die eigene Server-IP aus den Zugrifflogs eines Zielsystems herauszuhalten. Die offizielle Request-Konfiguration von Axios bietet dafür eine eingebaute proxy-Option mit den Feldern host, port, protocol und auth – es gibt sie schon seit Jahren, und sie ist das Erste, was Ihnen jedes Tutorial zeigt, auch dieses hier.
Was oft unter den Tisch fällt: Diese proxy-Option verhält sich unterschiedlich, je nachdem, ob Sie ein HTTP- oder HTTPS-Ziel ansprechen, und je nach Axios-Version. Genau deshalb gibt es diesen Leitfaden.
Node.js und Axios einrichten (schnell als Basis)
Überspringen Sie diesen Abschnitt, wenn Sie bereits ein Projekt haben. Falls nicht, dauert es ungefähr zwei Minuten.
mkdir axios-proxy-demo && cd axios-proxy-demo
npm init -y
npm install axios
Fügen Sie "type": "module" in Ihrer package.json hinzu, wenn Sie ESM-Imports nutzen möchten (ich tue das – CommonJS require() wirkt für eine Proxy-Demo inzwischen etwas altbacken). Aktuell ist Node LTS v24.18.0, getestet habe ich aber bewusst mit v22.22.3, damit die Ergebnisse nicht von den allerneuesten Runtime-Eigenheiten abhängen.
Packen Sie das in app.js und führen Sie node app.js aus:
import axios from 'axios';
const res = await axios.get('https://httpbin.org/ip');
console.log(res.data);
Sie sollten in der Antwort Ihre echte IP-Adresse sehen. Das ist Ihre Ausgangsbasis – sobald der Proxy funktioniert, sollte dieselbe Anfrage stattdessen die IP des Proxys zurückgeben.
Speichern Sie diese Antwort, bevor Sie den Proxy aktivieren; so haben Sie einen klaren Vergleichswert für die proxierte Anfrage im nächsten Schritt.
Unterstützt Axios HTTPS-Proxys überhaupt? (Klarstellung)
Kurz gesagt: Ja, in der aktuellen stabilen Version. Axios 1.19.0 dokumentiert CONNECT-Tunneling für HTTPS-Ziele hinter einem HTTP-Proxy. Die npm-Downloads-API verzeichnete 117.890.039 Axios-Downloads vom 31. Juli bis 6. August 2026 – ein zwar zeitgebundenes, aber anschauliches Maß dafür, wie weit verbreitet die Bibliothek ist. Wenn Sie mit einer HTTPS-URL über einen Proxy gehen, sendet aktuelles Axios einen CONNECT-Request, um einen Tunnel aufzubauen, und der TLS-Handshake läuft Ende-zu-Ende mit dem echten Origin. Ich habe das direkt getestet: lokaler HTTP-Proxy, lokaler HTTPS-Origin mit selbstsigniertem Zertifikat, und der CONNECT-Zähler auf meinem Proxy stieg exakt wie erwartet.
Warum taucht dann "Axios HTTPS proxy broken" in praktisch jedem Foren-Thread dazu auf? Dafür gibt es mehrere Gründe – und die sind alle real:
- Alte Axios-Versionen. Die GitHub-Issues, auf die verwiesen wird, sind oft Jahre alt und beschreiben versions- oder konfigurationsspezifisches Verhalten, das man nicht auf aktuelles Axios übertragen sollte.
- Proxy-Server ohne CONNECT-Unterstützung. In so einer Konfiguration scheitert der Tunnel, und Axios sollte einen Fehler melden; erfassen Sie Route und Fehler genau, bevor Sie von einer Umgehung der IP ausgehen.
- Die
proxy-Konfiguration wird mit etwas verwechselt, das sie nicht ist. Dieproxy-Option ist eine Forward-Proxy-Anweisung – kein universeller Schalter à la "alles auf jeden Fall über diesen Agenten routen".
Chromium meldete 2023, dass mehr als 90 % der Chrome-Navigationsaufrufe über große Plattformen hinweg HTTPS nutzen. Das ist eine zeitgebundene Chrome-Messung, keine aktuelle Gesamtstatistik des Webs – erklärt aber, warum sich das Verhalten bei HTTPS-Zielen im Zentrum dieses Tutorials befinden sollte. Wenn Sie eine alte Axios-Version einsetzen, reproduzieren Sie das Problem auf der aktuellen Linie, bevor Sie annehmen, dass ein historischer Fehler auch heute noch zutrifft; testen Sie das Upgrade in Ihrer eigenen Anwendung, bevor Sie es ausrollen.
Wann Sie trotzdem einen expliziten Agenten wollen
Die native proxy-Konfiguration ist für einen einzelnen, statischen, klassischen Proxy völlig okay. Sie stößt aber an ihre Grenzen, sobald Sie per Request steuern, Proxys rotieren oder SOCKS unterstützen wollen – dafür ist die eingebaute Axios-Option schlicht nicht gemacht. Genau hier spielt HttpsProxyAgent seine Stärke aus, und darauf gehe ich gleich ein. Sehen Sie die native Option als "gut genug für einen Proxy, einen Zweck" und den agent-basierten Ansatz als "das, was Sie in der Praxis wirklich wollen".
Der Environment-Proxy-Pfad in Node v24 und v22.21+
Neuere Node-Releases bringen einen eingebauten Environment-Proxy-Modus mit, aktiviert über NODE_USE_ENV_PROXY=1 oder den Schalter --use-env-proxy. Laut der CLI-Dokumentation von Node kam das in v24.0.0 dazu und wurde auf v22.21.0 zurückportiert – „Node 22+“ ist also technisch ungenau; gemeint ist konkret v22.21.0 und neuer innerhalb dieser Linie. Wer auf einem früheren Patch von Node 22 sitzt, hat diesen Schalter gar nicht.
Aktuelles Axios löst HTTP_PROXY, HTTPS_PROXY und NO_PROXY bereits über die Abhängigkeit proxy-from-env auf, daher ist global-agent für diesen aktuellen Axios-Pfad nicht nötig. Wenn zusätzlich auch der eingebaute Env-Proxy-Modus von Node aktiv ist, können zwei Ebenen an der Routing-Entscheidung beteiligt sein.
Die Axios-Doku weist darauf hin, dass Axios auf Node-Versionen, bei denen der Agent eine proxyEnv-Eigenschaft trägt, der Node-Behandlung den Vortritt lässt statt selbst aufzulösen. Praktisch heißt das: Entscheiden Sie sich für genau ein System und bleiben Sie dabei:
- Node übernimmt: Schalter setzen, Axios-
proxy-Config weglassen und die Env-Variablen arbeiten lassen. - Axios übernimmt: Node-Schalter nicht setzen und die Env-Var-Auflösung von Axios nutzen.
- Vollständig manuell steuern:
proxy: falseexplizit setzen und einen eigenenhttpsAgentübergeben – damit umgehen Sie beide automatischen Systeme vollständig. Genau das empfehle ich, sobald Rotation oder per-Request-Logik nötig werden.
Ich habe die Axios-seitige Auflösung direkt getestet: Das Setzen von HTTP_PROXY in der Umgebung eines Child-Prozesses leitete die Anfrage über meinen lokalen Proxy, und ein passender NO_PROXY-Eintrag sorgte beim nächsten Request korrekt dafür, dass der Proxy übersprungen wurde. Der Env-Var-Pfad funktioniert also heute wirklich sofort – aufpassen müssen Sie vor allem bei dem Fall, dass beide Modi gleichzeitig aktiv sind.
5 Wege, einen Proxy in Axios einzubauen (im Vergleich)
Bevor wir in den Code springen, hier erst einmal die Lage. Ich habe jede dieser Varianten gegen ein echtes lokales Proxy-Setup gebaut und getestet, nicht nur aus der Doku heraus gelesen.
| Methode | HTTPS-Unterstützung | Auth-Unterstützung | Kontrolle pro Request | Rotation-tauglich | Komplexität |
|---|---|---|---|---|---|
Inline-proxy-Option | ✅ (aktuelles Axios) | ✅ | ✅ | ❌ | Niedrig |
axios.create()-Defaults | ✅ (aktuelles Axios) | ✅ | ❌ (für die ganze Instanz) | ❌ | Niedrig |
Env-Variablen (HTTP_PROXY/HTTPS_PROXY) | ✅ | ✅ | ❌ | ❌ | Niedrig |
httpsAgent + HttpsProxyAgent | ✅ | ✅ | ✅ | ⚠️ (manuell) | Mittel |
| Request-Interceptor + Agent-Pool | ✅ | ✅ | ✅ | ✅ | Mittel bis hoch |
Nutzen Sie die Inline-Option für ein kleines Skript mit genau einem Proxy. Nehmen Sie axios.create(), wenn alle Requests in einem Modul über denselben Proxy laufen sollen, ohne die Konfiguration jedes Mal zu wiederholen. Verwenden Sie Env-Variablen, wenn Ihr Infrastruktur-Team das Routing ohnehin zentral verwaltet und Sie diese Einstellung einfach übernehmen wollen. Greifen Sie zu einem expliziten Agenten, wenn Sie mehr Kontrolle brauchen, als die native Config bietet – und zum Interceptor-Muster, sobald aus "Kontrolle" eigentlich "Rotation" wird.

Schritt für Schritt: Einfache Proxy-Konfiguration in Axios
Das einfachste Setup nutzt das eingebaute proxy-Objekt direkt am Request:
import axios from 'axios';
const res = await axios.get('https://httpbin.org/ip', {
proxy: {
host: '203.0.113.10',
port: 8080,
protocol: 'http',
},
});
console.log(res.data);
Wenn Sie das ausführen, sollten Sie in der Antwort die IP des Proxys statt Ihrer eigenen sehen. Wenn Sie lokal mit einem echten Proxy testen, ist das meist in deutlich unter einer Sekunde erledigt – im Vergleich dazu, systemweit erst einen Proxy einzurichten, nur um einen einzigen Request zu prüfen, kostet das schnell mal fünfzehn Minuten, die man nicht hat.
Vergleichen Sie diese Antwort mit dem Baseline-Wert. Ein erfolgreicher Test sollte die öffentliche IP des Proxys anzeigen, nicht die Origin-IP, die Sie zuvor notiert haben.
axios.create() für Standardwerte auf Instanzebene
Wenn alle Requests in einem bestimmten Modul über denselben Proxy gehen sollen, hinterlegen Sie die Einstellung direkt in einer Instanz, statt sie ständig zu wiederholen:
const client = axios.create({
proxy: {
host: '203.0.113.10',
port: 8080,
},
timeout: 15_000,
});
const res = await client.get('https://httpbin.org/ip');
Ich habe geprüft, dass ein individuelles proxy: false-Override bei einer einzelnen Anfrage den Instanz-Default sauber umgeht – praktisch, wenn 95 % Ihrer Calls den Proxy brauchen, aber ein paar wenige (z. B. ein Health-Check-Ping) eben nicht.
Proxy über Umgebungsvariablen setzen
Für zentral verwaltetes Routing – etwa in Docker-Containern oder CI-Umgebungen, in denen Ops die Proxy-Variablen ohnehin setzt – müssen Sie Axios gar nicht anfassen:
export HTTP_PROXY=http://203.0.113.10:8080
export HTTPS_PROXY=http://203.0.113.10:8080
export NO_PROXY=localhost,127.0.0.1
Aktuelles Axios liest diese Variablen ohne global-agent. Denken Sie nur an die Node-Versionsgrenze von oben: Wenn NODE_USE_ENV_PROXY ebenfalls aktiv ist, legen Sie klar fest, wem das Routing gehört, und testen Sie das NO_PROXY-Verhalten in der ausgelieferten Runtime.
Schritt für Schritt: HTTPS-Proxy-Setup mit httpsAgent (für echte Kontrolle)
Das ist das Setup, das ich tatsächlich empfehlen würde, sobald Sie mehr brauchen als "ein Proxy, für immer". Installieren Sie das aktuelle Agent-Paket:
npm install https-proxy-agent
https-proxy-agent 9.1.0 benötigt Node 20 oder neuer und sendet einen korrekten CONNECT an Ihren Proxy, bevor die Zielverbindung hindurchgetunnelt wird.
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://203.0.113.10:8080');
const client = axios.create({
proxy: false, // damit Axios nicht zusätzlich mit eigener Auflösung dazwischenfunkt
httpsAgent: agent,
timeout: 15_000,
});
const res = await client.get('https://httpbin.org/ip');
console.log(res.data);
Setzen Sie proxy: false, wenn ein expliziter Agent das Routing übernimmt. So ist die Konfiguration eindeutig und Axios versucht nicht, mit seiner nativen oder umgebungsbasierten Proxy-Auflösung mit dem übergebenen Agenten zu konkurrieren.
Proxy-Authentifizierung hinzufügen
Binden Sie Zugangsdaten direkt in die Proxy-URL ein:
const agent = new HttpsProxyAgent('http://myuser:mypassword@203.0.113.10:8080');
Wenn Ihr Passwort Sonderzeichen enthält – @, : und # sind die üblichen Problemkandidaten – sollten Sie sie vor dem Zusammenbauen der URL per Percent-Encoding kodieren oder die Zeichenkette aus einzelnen Komponenten mit encodeURIComponent() zusammensetzen. Ein rohes @ im Passwort wird sonst als Beginn des Host-Teils interpretiert, und Sie bekommen einen Verbindungsfehler, der zunächst nichts mit Encoding zu tun zu haben scheint.
SOCKS5-Proxys mit Axios verwenden
SOCKS-Proxys sind nicht mit HttpsProxyAgent kompatibel – dafür brauchen Sie einen anderen Agenten:
npm install socks-proxy-agent
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5://myuser:mypass@203.0.113.10:1080');
const client = axios.create({
proxy: false,
httpsAgent: agent,
});
socks-proxy-agent 10.1.0 benötigt ebenfalls Node 20+. SOCKS5 lohnt sich besonders in Unternehmensnetzwerken, die nur ein SOCKS-Gateway bereitstellen, oder bei Proxy-Anbietern, die flexiblere Protokolloptionen bieten als klassische HTTP-Proxys.
Rotierende Proxys mit Axios-Request-Interceptors
Innerhalb des aufrufenden Codes zufällig einen Proxy auszuwählen, funktioniert für ein Einmal-Skript noch ganz gut. Bei Hunderten von Requests bricht das Konzept schnell auseinander, weil es keine zentrale Stelle gibt, die tote Proxys verfolgt, keine Retry-Logik vorhanden ist und der Proxy-Auswahlcode am Ende überall dupliziert wird. Das Interceptor-System von Axios gibt dieser Logik einen testbaren Ort; keines der fünf Konkurrenz-Tutorials, die ich für diese SERP-Recherche geprüft habe, nutzte dieses Muster.

Einen Proxy-Pool bauen
import axios, { AxiosError, InternalAxiosRequestConfig } from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
class ProxyPool {
private agents: HttpsProxyAgent<string>[];
private index = 0;
constructor(proxyUrls: string[]) {
this.agents = proxyUrls.map((url) => new HttpsProxyAgent(url));
}
next(): HttpsProxyAgent<string> {
const agent = this.agents[this.index];
this.index = (this.index + 1) % this.agents.length;
return agent;
}
}
const pool = new ProxyPool([
'http://user:pass@proxy1.example.com:8080',
'http://user:pass@proxy2.example.com:8080',
]);
const client = axios.create({ timeout: 15_000 });
client.interceptors.request.use((config: InternalAxiosRequestConfig) => {
config.proxy = false;
config.httpsAgent = pool.next();
return config;
});
Ich habe das gegen zwei lokale Proxys laufen lassen und bestätigt, dass die Requests korrekt abwechseln – Proxy A, dann Proxy B, dann wieder A. Beachten Sie: Axios führt Request-Interceptors zuletzt herein, zuerst hinaus (LIFO), also spielt die Reihenfolge eine größere Rolle, als man denkt, wenn noch andere Interceptors im Spiel sind (etwa Auth-Header oder Logging).
Einen Response-Interceptor mit Retry-Absicherung hinzufügen
Hier werden viele selbst gebaute Rotationsskripte unsauber. Blindes Retrying bei jedem Fehler gegen einen unbegrenzten Pool kann aus einer einzigen schiefgelaufenen Anfrage ein Kettenproblem machen – vor allem bei nicht idempotenten Methoden wie POST, bei denen ein Retry einen Effekt doppelt auslösen kann, den Sie nicht doppelt auslösen wollten.
type RetryableConfig = InternalAxiosRequestConfig & {
__proxyRetryCount?: number;
};
client.interceptors.response.use(
undefined,
async (error: AxiosError) => {
const config = error.config as RetryableConfig | undefined;
if (!config) throw error;
const method = String(config.method ?? 'get').toUpperCase();
config.__proxyRetryCount ??= 0;
if (method !== 'GET' || config.__proxyRetryCount >= 1) throw error;
config.__proxyRetryCount += 1;
config.proxy = false;
config.httpsAgent = pool.next();
return client.request(config);
}
);
Ich habe das gegen einen absichtlich kaputten Proxy getestet und bestätigt, dass genau ein Retry über den alternativen Agenten ausgelöst wurde – keine Endlosschleife, kein Retry bei einer POST-Anfrage. Genau das ist die richtige Grenze: eine Retry-Policy, die ehrlich sagt, welche Requests sich gefahrlos wiederholen lassen, statt eines "einfach immer wieder probieren, bis es klappt"-Tricks.

Fehlerdiagnose-Tabelle: Jeden Fehler der richtigen Lösung zuordnen
Speichern Sie sich das. Das sind die Fehler, die tatsächlich in Axios-GitHub-Issues und Stack-Overflow-Threads auftauchen – nicht hypothetische.
| Fehler / Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
ECONNREFUSED | Falscher Host/Port oder Proxy-Server ist down | Vor dem Ändern von Axios mit curl -x http://host:port target-url prüfen |
407 Proxy Authentication Required | Fehlende oder falsche Zugangsdaten | proxy-Config um auth: { username, password } erweitern oder die Credentials in die HttpsProxyAgent-URL einbetten |
403 Forbidden | Origin oder WAF lehnt Request oder Proxy-IP ab | Zugriffsrichtlinien, Authentifizierung und Request-Rate der Seite prüfen; ein anderer Header oder eine andere IP ist keine Berechtigung, Sperren zu umgehen |
| Antwort zeigt Ihre echte IP | NO_PROXY, proxy:false, ein expliziter Direkt-Agent oder eine historische/versionabhängige Konfiguration umgeht den Proxy | Prüfen, welche Ebene das Routing steuert; den Pfad bei Bedarf mit einem kontrollierten IP-Endpunkt und explizitem Agenten verifizieren |
ETIMEDOUT | Verbindungs- oder Antwortzeit hat das konfigurierte Timeout überschritten | Messen, wo die Zeit verloren geht; Timeout nur anpassen, wenn die Last das rechtfertigt, sonst den fehlerhaften Pfad ersetzen oder abkühlen lassen |
ECONNRESET mitten in der Antwort | Proxy, Netzwerk oder Origin hat die Verbindung geschlossen | Den fehlschlagenden Hop protokollieren; nur wiederholbare Requests mit begrenztem Budget erneut versuchen |
502 Bad Gateway hinter Nginx | proxy_pass in Nginx falsch konfiguriert oder Axios-Timeout passt nicht zu Nginx | proxy_connect_timeout und proxy_read_timeout prüfen (beide standardmäßig 60s) und mit Ihrem Axios-timeout abgleichen |
ERR_TLS_CERT_ALTNAME_INVALID | Falscher Agent-Typ für das Ziel oder selbstsigniertes Zertifikat | Prüfen, ob Sie den richtigen Agenten für das Protokoll verwenden; rejectUnauthorized: false nur für lokale Tests setzen – niemals in Produktion |
Schnelle Debugging-Checkliste
Wenn etwas kaputtgeht und Sie nicht sofort sehen, warum, arbeiten Sie diese Reihenfolge ab:
- Testen Sie den Proxy direkt mit
curl -x http://host:port https://your-target.com. Wenn das fehlschlägt, prüfen Sie Proxy-Erreichbarkeit, Authentifizierung und das Ziel, bevor Sie Axios anfassen. Wenn es klappt, muss der Axios-Pfad trotzdem separat verifiziert werden. - Prüfen Sie, welche Axios- und Node-Versionen Sie tatsächlich ausführen, und vergleichen Sie historische Berichte nur dann mit derselben Version/Konfiguration, bevor Sie deren Fixes übernehmen.
- Finden Sie heraus, welches System den Proxy auflöst – native Axios-Config, Axios-Env-Var-Auflösung, Nodes eingebauter Env-Proxy-Modus oder ein expliziter Agent. Lassen Sie nie mehr als eine Instanz denselben Request steuern.
- Prüfen Sie
NO_PROXYauf unbeabsichtigte Hostname-Treffer. - Wenn Sie einen expliziten Agenten verwenden, stellen Sie sicher, dass
proxy: falsegesetzt ist, damit Axios nicht doppelt eingreifen will.
Wann Sie das Proxy-Basteln komplett überspringen sollten
All das hier ist wirklich nützlich, wenn Ihr eigentliches Ziel darin besteht, beliebigen Traffic zu routen – etwa für Unternehmensnetzwerk-Tests, Geo-Tests einer App oder kontrollierten Netzwerk-Egress. Viele Entwickler landen aber bei "Wie richte ich einen Axios-Proxy ein?", obwohl sie in Wahrheit Daten von einer Website wollen und der Proxy nur das Mittel zum Zweck ist.
Wenn das auf Sie zutrifft, lohnt sich die Frage, ob Sie überhaupt einen Proxy brauchen – oder eher eine Scraping-API, die die Infrastruktur für Sie übernimmt. Die Open API von Thunderbit nimmt eine URL und ein Schema und gibt strukturiertes JSON zurück – kein rohes HTML-Parsen, keine Agent-Bibliotheken, kein Proxy-Pool, um den Sie sich kümmern müssen. Der /extract-Endpunkt verarbeitet serverseitig JS-gerenderte Seiten, Anti-Bot-Maßnahmen und CAPTCHAs, und es gibt außerdem einen schlankeren /distill-Endpunkt, der eine Seite einfach in sauberes Markdown umwandelt, falls Ihnen das genügt. Dazu kommt ein MCP-Server, der Tools wie thunderbit_extract und thunderbit_suggest_fields bereitstellt, sodass Coding-Assistenten wie Claude oder Cursor während der Aufgabe strukturierte Daten ziehen können, ganz ohne Proxy-Konfiguration. Für Terminal- und CI-Workflows gibt es außerdem eine CLI.
| Thema | DIY mit Axios + Proxys | Thunderbit API/MCP/CLI |
|---|---|---|
| Proxy-Beschaffung & Rotation | Sie verwalten das selbst | Serverseitig übernommen |
| Browser- und Access-Herausforderungen | Sie betreiben Browser-/Netzwerkschicht | Vom Service im Rahmen der dokumentierten Möglichkeiten verwaltet |
| JS-gerenderte Seiten | Sie brauchen einen Headless-Browser | renderMode: full |
| Ausgabeformat | Rohes HTML → Sie parsen es | Strukturiertes JSON über Schema |
| Wartung bei Seitenänderungen | Sie pflegen Parsing/Selektoren | Die verwaltete Extraktionsschicht reduziert einen Teil der Wartung auf Anwendungsseite |
Die ehrliche Einordnung: Wenn Sie Traffic für Tests oder Unternehmensnetzwerke routen müssen, ersetzt das hier Axios und eine Proxy-Konfiguration nicht. Wenn Ihr Ziel aber strukturierte Webdaten sind, kann ein API-First-Ansatz den Proxy-, Browser- und Parsing-Code in Ihrer Anwendung deutlich reduzieren. Zum Abruf am 7. August 2026 zeigte die Rate-Limit-Dokumentation von Thunderbit im Free-Tier 10 Requests pro Minute und 2 gleichzeitige Requests an. Behandeln Sie das als zeitabhängige API-Grenzen und prüfen Sie die Seite vor dem produktiven Einsatz erneut.
Fazit
Die wichtigste Erkenntnis hier widerspricht dem, was viele ältere Tutorials erzählen: Aktuelles Axios dokumentiert und – im aufgezeichneten lokalen Test – CONNECT-Tunneling für HTTPS-Ziele korrekt verwendet. Historische Fehler sind weiterhin relevant, aber nur mit der passenden Versions- und Konfigurationskontext. Native Konfiguration ist ein guter Startpunkt mit wenig Komplexität; wenn Sie pro Request steuern, SOCKS unterstützen oder rotieren müssen, gibt Ihnen ein expliziter HttpsProxyAgent (oder SocksProxyAgent) zusammen mit proxy: false eine klarere Zuständigkeit. Und wenn Sie in der Produktion über einen Pool rotieren, bieten Request- und Response-Interceptors einen zentralen, testbaren Ort dafür – solange Ihre Retry-Logik eine Schleifenbegrenzung hat und nur Requests erneut ausführt, die wirklich sicher wiederholbar sind.
Setzen Sie sich das Diagnose-Tableau oben für den nächsten Fall auf Lesezeichen, in dem Ihnen ein Proxy-Setup nachts um 2 Uhr eine kryptische Fehlermeldung um die Ohren haut. Und wenn Sie merken, dass Sie mehr Zeit mit Proxy-Plumbing als mit den eigentlichen Daten verbringen, lohnt sich vielleicht ein Blick darauf, ob ein API-first-Extraktionstool das eigentliche Problem schneller löst als jede Infrastruktur es könnte.
FAQs
Unterstützt Axios HTTPS-Proxys nativ? Ja, in aktuellem Axios für einen klassischen HTTP-Proxy: Die aktuelle Dokumentation beschreibt CONNECT-Tunneling für HTTPS-Ziele, und Axios 1.19.0 hat diesen Pfad im aufgezeichneten lokalen Test bestanden. Frühere Releases und bestimmte Proxy-Konfigurationen führten zu echten Fehlern – prüfen Sie also immer die genaue Version und den konkreten Proxy, statt pauschal von Erfolg oder Misserfolg auszugehen.
Wie rotiere ich Proxys in Axios?
Verwenden Sie einen Request-Interceptor, der vor jedem ausgehenden Request einen anderen httpsAgent aus einem Proxy-Pool zuweist, und kombinieren Sie das mit einem Response-Interceptor, der fehlgeschlagene Requests über einen anderen Proxy erneut versucht. Halten Sie das Retry-Limit klein – ein Retry und nur für idempotente Methoden wie GET –, damit Sie nichts versehentlich doppelt ausführen.
Warum zeigt mein Axios-Proxy meine echte IP an?
Prüfen Sie, ob NO_PROXY, proxy:false, ein expliziter Direkt-Agent oder ein deployment-spezifisches Routing den Proxy umgeht. Notieren Sie die Axios-/Node-Versionen und testen Sie den Proxy separat mit cURL. Wenn Sie eine eindeutige Route pro Request brauchen, nutzen Sie HttpsProxyAgent mit proxy:false und verifizieren Sie die beobachtete IP an einem kontrollierten Endpunkt.
Kann ich SOCKS5-Proxys mit Axios verwenden?
Ja, über das Paket socks-proxy-agent. Erstellen Sie eine SocksProxyAgent-Instanz mit Ihrer SOCKS-URL und übergeben Sie sie in Ihrer Axios-Konfiguration als httpsAgent – stellen Sie nur sicher, dass Sie nicht gleichzeitig HttpsProxyAgent verwenden, da die beiden Protokolle unterschiedliche Agent-Typen brauchen.
Was ist der Unterschied zwischen der proxy-Option und httpsAgent in Axios?
Die proxy-Option ist die eingebaute Axios-Konfiguration für einen einzelnen, statischen Proxy und funktioniert in aktuellen Versionen für einfache Anwendungsfälle gut. httpsAgent akzeptiert einen benutzerdefinierten Node.js-Agenten – etwa HttpsProxyAgent oder SocksProxyAgent – und gibt Ihnen direkte, request-genaue Kontrolle über Routing, Authentifizierung und Rotation, für die die native Option nie gedacht war.


