Jak nastavit Axios proxy pro Node.js (ano, i pro HTTPS)

Poslední aktualizace August 11, 2026
Axios request travelling through a CONNECT proxy tunnel to an HTTPS origin
AI shrnutí
  • Nastavte proxy v Axiosu pro Node.js pomocí explicitní konfigurace proxy, environment proměnných a vlastních HTTP nebo HTTPS agentů tam, kde to Axios neumí automaticky.
  • Pochopte HTTPS CONNECT tunelování, rozdíl mezi URL proxy a cílovou URL a proč SOCKS proxy vyžadují agenta místo standardní volby proxy.
  • Implementujte pool proxy s omezeným retry, round-robin výběrem, health scoringem, cooldowny a timeouty pro jednotlivé požadavky bez vzniku retry bouří.
  • Diagnostikujte problémy ECONNRESET, ETIMEDOUT, 407, TLS, DNS a precedence environment proměnných pomocí cílených kontrol na transportní, proxy a origin vrstvě.
  • Udržujte přihlašovací údaje mimo zdrojový kód a zajistěte, aby v produkční automatizaci požadované směrování přes proxy selhalo bezpečně.

Někde na Stack Overflow je právě teď někdo přesvědčený, že Axios na HTTPS proxy „tiše selhává“. Tahle věta se v návodech na Node.js proxy opakuje pořád dokola, ale neodpovídá aktuální verzi, kterou jsem pro tento článek testoval. Spustil jsem lokální testovací prostředí se skutečnými HTTP i HTTPS cíli za dvěma proxy a Axios 1.19.0 poslal HTTPS požadavek přes správný CONNECT tunel místo toho, aby proxy obešel.

To ale neznamená, že jsou popisované problémy vymyšlené. Starší verze Axio​su měly reálné chyby (viz issue #3384 a issue #4531), a novější vydání Node přidávají další cestu pro práci s proxy přes prostředí, která si zaslouží pečlivé nastavení. Tento průvodce ukazuje, co dnes skutečně funguje v Axios 1.19.0, všechny způsoby, jak proxy zapojit do požadavků, rotační pattern s interceptory, který ukazuje jen málokterý návod, a také kompletní tabulku chyb a oprav pro situace, kdy se něco přesto pokazí.

Co je Axios proxy a proč na tom v Node.js záleží?

Proxy je v kontextu Axio​su jen prostřední server mezi vaším Node procesem a cílovým webem. Požadavek jde nejdřív na proxy, ta jej přepošle dál a cílový server vidí IP adresu proxy, ne vaši. To je celé kouzlo.

Vývojáři to používají hlavně z těchto důvodů: scraping webů s rate limity nebo blokací podle IP, testování chování aplikace z jiné lokality, směrování provozu přes firemní výstupní bod, nebo prostě snaha nenechat vlastní IP adresu v logách cílové služby. Oficiální request config Axiosu nabízí vestavěnou možnost proxy s poli host, port, protocol a auth — existuje už roky a ukazuje ji každý návod, včetně tohoto.

A tady je část, která se často přechází: volba proxy se chová jinak podle toho, jestli míříte na HTTP nebo HTTPS cíl, a také podle toho, jakou verzi Axio​su používáte. Právě tenhle rozdíl je důvod, proč tenhle článek vznikl.

Nastavení Node.js a Axio​su (rychlý základ)

Přeskočte to, pokud už projekt máte. Pokud ne, zabere to asi dvě minuty.

mkdir axios-proxy-demo && cd axios-proxy-demo
npm init -y
npm install axios

Do package.json přidejte "type": "module", pokud chcete používat ESM importy (já ano — CommonJS require() působí u ukázky proxy trochu zastarale). Aktuální Node LTS je v24.18.0, ale testy jsem spouštěl konkrétně na v22.22.3, aby výsledky nezávisely na nejnovějších zvláštnostech runtime.

Vložte tohle do app.js a spusťte node app.js:

import axios from 'axios';

const res = await axios.get('https://httpbin.org/ip');
console.log(res.data);

V odpovědi byste měli vidět svou skutečnou IP adresu. To je váš výchozí stav — jakmile proxy funguje, stejný požadavek by měl vracet IP adresu proxy.

Tuhle odpověď si uložte ještě před zapnutím proxy; budete mít konkrétní referenci pro porovnání s proxovaným požadavkem v dalším kroku.

Podporuje Axios opravdu HTTPS proxy? (Ujasněme si fakta)

Krátká odpověď: ano, v aktuální stabilní verzi. Axios 1.19.0 dokumentuje CONNECT tunelování pro HTTPS cíle přes HTTP proxy. API npm downloads zaznamenalo 117 890 039 stažení Axio​su mezi 31. červencem a 6. srpnem 2026, což je sice starší údaj, ale dobře ukazuje, jak široce se knihovna používá. Když přes proxy míříte na HTTPS URL, současný Axios pošle CONNECT požadavek pro vytvoření tunelu a TLS handshake proběhne end-to-end se skutečným cílem. Ověřil jsem to přímo: lokální HTTP proxy, lokální HTTPS origin se self-signed certifikátem a čítač CONNECT na proxy se zvýšil přesně podle očekávání.

Tak proč se pak v každém druhém fóru objevuje, že „Axios HTTPS proxy je rozbitá“? Důvodů je několik a všechny jsou reálné:

  • Staré verze Axio​su. GitHub issue, na které lidé odkazují, bývají často roky staré a popisují chování v určité verzi nebo při konkrétní konfiguraci, které nelze zobecňovat na současný Axios.
  • Proxy servery bez podpory CONNECT. V takové konfiguraci tunel selže a Axios by měl vrátit chybu; před diagnostikou obejití proxy si zaznamenejte skutečnou trasu a chybu.
  • Záměna proxy konfigurace za něco, čím není. Volba proxy je instrukce pro forward proxy, ne univerzální přepínač typu „směruj vše přes tento agent za každou cenu“.

Chromium v roce 2023 uvedlo, že více než 90 % navigací v Chrome na hlavních platformách používalo HTTPS. Je to starší měření Chrome, ne aktuální sčítání celého webu, ale dobře vysvětluje, proč je chování vůči HTTPS cílům jádrem tohoto návodu. Pokud používáte starou verzi Axio​su, reprodukujte problém na aktuální řadě, než budete předpokládat, že historická chyba stále popisuje současné chování; ověřte si upgrade ve vlastní aplikaci, než ho nasadíte.

Kdy se vám pořád hodí explicitní agent

Vestavěná konfigurace proxy je v pořádku pro jeden statický, běžný proxy server. Jakmile ale potřebujete řízení pro každý požadavek zvlášť, rotaci proxy nebo podporu SOCKS, vestavěná volba Axio​su nestačí. Tady přichází ke slovu HttpsProxyAgent, který si rozebereme níže. Představte si nativní volbu jako „dostačující pro jednu proxy a jeden účel“ a přístup s agentem jako „to, co opravdu chcete v produkci“.

Cesta s environment proxy v Node v24 a v22.21+

Novější verze Node mají vestavěný režim práce s proxy přes prostředí, který se aktivuje pomocí NODE_USE_ENV_PROXY=1 nebo přepínače --use-env-proxy. Podle CLI dokumentace Node přišla tahle funkce ve v24.0.0 a byla backportována do v22.21.0 — takže tvrzení „Node 22+“ je technicky nepřesné; platí specificky pro v22.21.0 a novější v téhle větvi. Pokud běžíte na starší patch verzi Node 22, tenhle přepínač pro vás vůbec neexistuje.

Současný Axios už čte HTTP_PROXY, HTTPS_PROXY a NO_PROXY přes závislost proxy-from-env, takže global-agent pro tuhle cestu aktuálního Axio​su není potřeba. Když je zároveň aktivní i nativní env-proxy režim Node, mohou se do rozhodování o trase zapojit dvě vrstvy.

Dokumentace Axio​su uvádí, že na verzích Node, kde agent nese vlastnost proxyEnv, se Axios přenechává zpracování Node místo vlastnímu vyhodnocování. V praxi to znamená, že byste si měli vybrat jeden systém a držet se ho:

  • Nechat to na Node: zapněte přepínač, v Axiosu nenastavujte proxy a nechte práci na env proměnných.
  • Nechat to na Axiosu: nezapínejte Node přepínač a nechte Axio​s, aby si env proměnné vyřešil sám.
  • Vzít si plnou ruční kontrolu: nastavte explicitně proxy: false a předejte vlastní httpsAgent — tím obejdete oba automatické systémy, což doporučuji ve chvíli, kdy potřebujete rotaci nebo logiku pro konkrétní požadavky.

Testoval jsem přímo resoluci na straně Axio​su: nastavení HTTP_PROXY v prostředí child procesu směrovalo požadavek přes moji lokální proxy a přidání odpovídající položky NO_PROXY zajistilo, že další požadavek ji správně obešel. Cesta přes env proměnné tedy skutečně funguje bez další konfigurace — pozor si ale musíte dát na situaci, kdy běží oba režimy zároveň.

5 způsobů, jak zapojit proxy do Axio​su (srovnání)

Než přejdeme ke kódu, podívejme se na přehled možností. Každou z nich jsem sestavil a testoval proti reálnému lokálnímu proxy prostředí, ne jen na základě dokumentace.

MetodaPodpora HTTPSPodpora autentizaceŘízení na úrovni požadavkuVhodné pro rotaciSložitost
Vložená volba proxy✅ (aktuální Axios)Nízká
Výchozí hodnoty v axios.create()✅ (aktuální Axios)❌ (pro celou instanci)Nízká
Env proměnné (HTTP_PROXY/HTTPS_PROXY)Nízká
httpsAgent + HttpsProxyAgent⚠️ (ručně)Střední
Request interceptor + pool agentůStředně vysoká

Vloženou volbu použijte pro rychlý skript, který jde přes jednu proxy. axios.create() se hodí, když mají všechny požadavky v jednom modulu jít přes stejnou proxy bez opakování konfigurace. Env proměnné jsou správná volba, když proxy routing centrálně spravuje infrastruktura a vy ji chcete jen převzít. Explicitní agent využijte, když potřebujete kontrolu, kterou nativní konfigurace neumí — a na pattern s interceptory přejděte ve chvíli, kdy se z „kontroly“ stane „rotace“.

Three Axios proxy routing methods converging on an HTTPS destination

Krok za krokem: Základní konfigurace proxy v Axiosu

Nejjednodušší nastavení používá přímo vestavěný objekt proxy v požadavku:

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);

Když to spustíte, v odpovědi byste měli vidět IP adresu proxy místo své vlastní. Pokud testujete lokálně s reálnou proxy, obvykle je to hotové za méně než sekundu — oproti ručnímu nastavování proxy na úrovni systému jen kvůli jednomu testu, což je přesně ten typ práce, který umí sežrat patnáct minut, které nemáte.

Porovnejte výslednou odpověď s výchozím stavem. Úspěšný test by měl ukázat veřejnou IP proxy místo origin IP, kterou jste si uložili dříve.

Použití axios.create() pro výchozí nastavení na úrovni instance

Jestli má jít každý požadavek v daném modulu přes stejnou proxy, zapište to do instance místo opakování konfigurace:

const client = axios.create({
  proxy: {
    host: '203.0.113.10',
    port: 8080,
  },
  timeout: 15_000,
});

const res = await client.get('https://httpbin.org/ip');

Ověřil jsem, že přepsání na úrovni jednotlivého požadavku přes proxy: false výchozí nastavení instance čistě obejde — hodí se to, když 95 % volání proxy potřebuje, ale pár z nich, třeba health-check ping, ji mít nemá.

Nastavení proxy přes environment proměnné

Pro centrálně spravované směrování — třeba v Docker kontejnerech nebo CI prostředích, kde ops už proxy env proměnné nastavuje — nemusíte v Axio​su měnit vůbec nic:

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

Současný Axios tyto proměnné čte i bez global-agent. Jen si hlídejte hranici verzí Node zmíněnou výše: pokud je aktivní i NODE_USE_ENV_PROXY, nastavte jasně, kdo routing vlastní, a otestujte chování NO_PROXY v nasazeném runtime.

Krok za krokem: Nastavení HTTPS proxy přes httpsAgent (pro skutečnou kontrolu)

Tohle je nastavení, které bych doporučil ve chvíli, kdy už vám nestačí „jedna proxy navždy“. Nejprve nainstalujte aktuální balíček agentu:

npm install https-proxy-agent

https-proxy-agent 9.1.0 vyžaduje Node 20 nebo novější a před tunelováním cílového spojení pošle do proxy správný CONNECT požadavek.

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,        // zabrání tomu, aby do toho mluvila i nativní resoluce Axio​su
  httpsAgent: agent,
  timeout: 15_000,
});

const res = await client.get('https://httpbin.org/ip');
console.log(res.data);

Když routing přebírá explicitní agent, nastavte proxy: false. Konfigurace tak bude jednoznačná a Axios nebude soupeřit s dodaným agentem prostřednictvím své nativní nebo environment resoluce.

Přidání autentizace proxy

Přihlašovací údaje vložte přímo do URL proxy:

const agent = new HttpsProxyAgent('http://myuser:mypassword@203.0.113.10:8080');

Pokud má heslo speciální znaky — typicky @, : nebo # — před sestavením URL je percent-enkódujte, nebo jednotlivé části zpracujte přes encodeURIComponent(). Holé @ v hesle se totiž může vyložit jako začátek části hostitele a skončíte s chybou připojení, která na první pohled vůbec nesouvisí s kódováním.

Použití SOCKS5 proxy s Axios

SOCKS proxy nejsou kompatibilní s HttpsProxyAgent — pro tenhle protokol potřebujete jiný agent:

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 také vyžaduje Node 20+. SOCKS5 se vyplatí použít ve chvíli, kdy pracujete s firemní sítí, která nabízí jen SOCKS bránu, nebo s poskytovateli proxy, kteří podporují pružnější protokoly než obyčejné HTTP proxy.

Rotace proxy v Axiosu pomocí request interceptorů

Vybrat náhodnou proxy přímo v kódu volání stačí pro jednorázový skript. Jakmile ale posíláte stovky požadavků, začne to selhávat: není centrální místo pro sledování mrtvých proxy, chybí retry logika a výběr proxy se rozleze po celém kódu. Systém interceptorů v Axiosu dává téhle logice jedno testovatelné místo; žádný z pěti konkurenčních návodů v SERP analýze tenhle pattern nepoužil.

Axios GET requests rotating across three proxies with one bounded retry

Vytvoření poolu proxy

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;
});

Testoval jsem to proti dvěma lokálním proxy a potvrdil, že se požadavky střídaly správně — proxy A, pak proxy B, a pak zase A. Všimněte si, že Axios provádí request interceptory v pořadí last-in-first-out, takže pokud máte i jiné interceptory (auth hlavičky, logování), na pořadí záleží víc, než by se zdálo.

Přidání response interceptoru s ochranou proti nekonečnému retry

Tady většina vlastních rotačních skriptů začíná dělat chyby. Slepé opakování každé chyby přes neomezený pool může z jednoho problému udělat lavinu — zvlášť u ne-idempotentních metod, jako je POST, kde by retry mohl zopakovat vedlejší účinek, který jste opakovat nechtěli.

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);
  }
);

Testoval jsem to proti záměrně rozbité proxy a potvrdil jsem, že proběhl právě jeden retry na alternativním agentovi — žádná nekonečná smyčka, žádný retry na POST požadavek. To je přesně hranice, kterou chcete: retry politiku, která je upřímná v tom, co je bezpečné opakovat, ne hack typu „zkusíme to, dokud to náhodou nevyjde“.

Axios proxy troubleshooting with cURL, 407 authentication, and timeout checks

Tabulka diagnostiky chyb: Přiřaďte každé chybě správnou opravu

Uložte si to. Tohle jsou chyby, které se skutečně objevují v issue na GitHubu Axio​su a na Stack Overflow, ne hypotetické případy.

Chyba / příznakPravděpodobná příčinaOprava
ECONNREFUSEDŠpatný host/port nebo proxy server neběžíOvěřte pomocí curl -x http://host:port target-url ještě před úpravou kódu Axio​su
407 Proxy Authentication RequiredChybí nebo je špatné přihlášeníPřidejte do konfigurace proxy položku auth: { username, password }, nebo vložte přihlašovací údaje do URL v HttpsProxyAgent
403 ForbiddenOrigin nebo WAF požadavek nebo IP proxy odmítlZkontrolujte pravidla přístupu, autentizaci a rychlost požadavků; nepovažujte jinou hlavičku nebo IP za oprávnění obejít omezení
Odpověď ukazuje vaši skutečnou IPMožná proxy obchází NO_PROXY, proxy:false, explicitní přímý agent nebo historická/verzově specifická konfiguraceZjistěte, která vrstva routing vlastní; podle potřeby ověřte trasu přes endpoint s kontrolovanou IP a explicitním agentem
ETIMEDOUTVypršel čas na připojení nebo odpověď překročila nastavený timeoutZměřte, kde se čas spotřebovává; timeout upravujte jen tehdy, když to zatížení opravdu vyžaduje, jinak vyměňte nebo odsuňte nezdravou trasu
ECONNRESET uprostřed odpovědiProxy, síť nebo origin ukončily spojeníZaznamenejte selhávající hop; opakujte jen bezpečně opakovatelné požadavky s omezeným počtem pokusů
502 Bad Gateway za NginxŠpatně nastavený proxy_pass v Nginx, nebo timeout Axio​su neodpovídá NginxZkontrolujte proxy_connect_timeout a proxy_read_timeout (oba mají výchozí hodnotu 60 s) a slaďte je s timeoutem v Axio​su
ERR_TLS_CERT_ALTNAME_INVALIDŠpatný typ agentu pro cíl nebo self-signed certifikátOvěřte, že používáte správný agent pro daný protokol; pro lokální testování můžete nastavit rejectUnauthorized: false — nikdy ne v produkci

Rychlý checklist pro debugování

Když něco nefunguje a nevíte proč, projděte tohle v tomto pořadí:

  1. Otestujte proxy přímo pomocí curl -x http://host:port https://your-target.com. Pokud selže, řešte konektivitu proxy, autentizaci a cíl ještě před změnami v Axiosu. Pokud projde, cesta v Axiosu stále potřebuje samostatné ověření.
  2. Zjistěte, jaké verze Axio​su a Node skutečně používáte, a porovnávejte historická hlášení jen s tou samou verzí a konfigurací, než na jejich základě použijete opravu.
  3. Ujasněte si, který systém proxy vyhodnocuje — nativní konfigurace Axio​su, env-resoluce Axio​su, vestavěný env-proxy režim Node, nebo explicitní agent. Nikdy nenechte stejný požadavek řídit více systémů zároveň.
  4. Zkontrolujte NO_PROXY, jestli omylem neshoduje hostname.
  5. Pokud používáte explicitní agent, ověřte, že je nastaveno proxy: false, aby se Axios nepokusil request zpracovat dvakrát.

Kdy přeskočit vlastní proxy vrstvu úplně

Všechno výše je opravdu užitečné, pokud je vaším cílem směrovat libovolný provoz — testování firemní sítě, geo-testování aplikace nebo řízený odchozí provoz. Jenže spousta vývojářů se k otázce „jak nastavit Axios proxy“ dostane proto, že ve skutečnosti chtějí data z webu a proxy je jen prostředek k cíli.

Pokud je to váš případ, vyplatí se zvážit, jestli vůbec potřebujete proxy, nebo zda spíš nepotřebujete scraping API, které infrastrukturu vyřeší za vás. Thunderbit Open API vezme URL a schéma a vrátí strukturované JSON — žádné parsování syrového HTML, žádné knihovny agentů, žádný pool proxy k obsluze. /extract endpoint si serverově poradí i se stránkami renderovanými přes JavaScript, anti-bot ochranami a CAPTCHA, a existuje i lehčí /distill endpoint, který stránku jen převede do čistého Markdownu, pokud vám to stačí. K dispozici je také MCP server, který vystavuje nástroje jako thunderbit_extract a thunderbit_suggest_fields, takže AI asistenti jako Claude nebo Cursor mohou během práce vytáhnout strukturovaná data bez jakékoliv proxy konfigurace, a navíc i CLI pro terminál a CI workflow.

OblastVlastní Axios + proxyThunderbit API / MCP / CLI
Zajištění a rotace proxySpravujete samiŘešeno serverově
Problémy s prohlížečem a přístupemProhlížeč/síťovou vrstvu provozujete vySpravuje služba v rámci svých dokumentovaných možností
Stránky renderované přes JSPotřebujete headless browserrenderMode: full
Výstupní formátSurové HTML → parsování na vaší straněStrukturované JSON podle schématu
Údržba při změnách webůUdržujete parsování/selektorySpravovaná extrakční vrstva snižuje část údržby na straně aplikace

Upřímně řečeno: pokud potřebujete směrovat provoz kvůli testování nebo firemní síti, nic z toho Axio​s ani proxy konfiguraci nenahrazuje. Jestli je ale vaším výsledkem strukturovaná webová data, přístup „API first“ může výrazně snížit množství proxy, browser a parsing kódu, který vaše aplikace musí vlastnit. Při načtení 7. srpna 2026 dokumentace rate limitů Thunderbit API uváděla Free tier s limitem 10 požadavků za minutu a 2 souběžnými požadavky. Berte to jako časově citlivý údaj a před nasazením do produkce si stránku znovu ověřte.

Závěr

Hlavní poučení jde proti tomu, co tvrdí mnoho starších návodů: aktuální Axios správně používá CONNECT tunelování pro HTTPS cíl, a v lokálním testu se to potvrdilo. Historické chyby stále mají význam, ale vždycky potřebují kontext verze a konfigurace. Nativní konfigurace je dobrý a jednoduchý start; když potřebujete řízení na úrovni jednotlivého požadavku, podporu SOCKS nebo rotaci, explicitní HttpsProxyAgent (nebo SocksProxyAgent) spolu s proxy: false vám dá mnohem jasnější vlastnictví routing logiky. A pokud v produkci rotujete přes pool, request a response interceptory vám poskytnou centralizované a testovatelné místo, kde to dělat — jen nezapomeňte na ochranu proti smyčkám a opakujte jen požadavky, které je opravdu bezpečné opakovat.

Uložte si výše uvedenou diagnostickou tabulku pro chvíli, kdy vám proxy nastavení ve dvě ráno vyhodí záhadnou chybu. A pokud zjistíte, že víc času trávíte debugováním proxy vrstvy než používáním samotných dat, možná stojí za to zjistit, zda problém nevyřeší nástroj pro extrakci dat s API přístupem rychleji než jakákoli infrastruktura.

Často kladené otázky

Podporuje Axios HTTPS proxy nativně? Ano, v aktuálním Axiosu pro běžnou HTTP proxy: aktuální dokumentace popisuje CONNECT tunelování pro HTTPS cíle a Axios 1.19.0 tuto trasu v lokálním testu prokazatelně zvládl. Historická vydání a některé konfigurace proxy skutečně selhávaly, takže si vždy ověřte konkrétní verzi a proxy místo toho, abyste předpokládali univerzální úspěch nebo univerzální selhání.

Jak v Axiosu nastavit rotaci proxy? Použijte request interceptor, který před každým odesláním přiřadí jiný httpsAgent z poolu proxy, a doplňte ho response interceptor em, který při chybě zkusí požadavek znovu přes jinou proxy. Retry logiku držte omezenou — jeden pokus navíc a jen pro idempotentní metody jako GET — aby se omylem neopakoval požadavek, který se opakovat nemá.

Proč Axios proxy ukazuje moji skutečnou IP? Zkontrolujte, jestli proxy neobchází NO_PROXY, proxy:false, explicitní přímý agent nebo routing specifický pro nasazení. Zapište si verze Axio​su a Node a otestujte proxy samostatně pomocí cURL. Pokud potřebujete jednoznačné směrování pro každý požadavek, použijte HttpsProxyAgent s proxy:false a ověřte zobrazenou IP na kontrolovaném endpointu.

Můžu s Axios použít SOCKS5 proxy? Ano, přes balíček socks-proxy-agent. Vytvořte instanci SocksProxyAgent s vaší SOCKS URL a předejte ji v konfiguraci Axio​su jako httpsAgent — jen se ujistěte, že zároveň nepředáváte HttpsProxyAgent, protože tyto dva protokoly používají různé typy agentů.

Jaký je rozdíl mezi volbou proxy a httpsAgent v Axiosu? Volba proxy je vestavěná konfigurace Axio​su pro jednu statickou proxy a v aktuálních verzích funguje dobře pro jednoduché scénáře. httpsAgent přijímá vlastní Node.js agent — třeba HttpsProxyAgent nebo SocksProxyAgent — a dává vám přímou kontrolu na úrovni jednotlivého požadavku nad routováním, autentizací a rotací, kterou nativní volba nikdy nebyla navržená řešit.

Další informace

Ke
Ke
CTO ve Thunderbit | Senior Data Scientist a expert na ML S téměř desetiletou zkušeností v oblasti strojového učení a datové vědy je Ke Shen absolventem Kolumbijské univerzity a bývalým Senior Data Scientist ve Walmart Labs. Díky hlubokým odborným znalostem v Pythonu, R, Javě a statistice, uznávaným i mezi kolegy, sdílí ověřené poznatky o tom, jak převést složité AI algoritmy od teorie až k produkční architektuře.
Topics
Axios proxyNode.js proxyHTTPS proxy
Obsah
Thunderbit · AI agent pro webová data

Extrahuj data z jakékoli stránky v 1 kliknutí

Důvěřuje mu více než 250 000 uživatelů
k dispozici bezplatný plán
Z webové stránky do tabulky
Popiš, co potřebuješ — AI agent Thunderbit to vyextrahuje a exportuje do Excelu, Google Sheets, Airtable nebo Notion. Začni zdarma.
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week