Stroj s několika místními adresami může pro připojení k dopřednému proxy potřebovat jednu z nich. cURL může obě volby provést výslovně:

curl_setopt_array($handle, [
    CURLOPT_URL => 'https://example.com/',
    CURLOPT_INTERFACE => '192.0.2.20',
    CURLOPT_PROXY => 'http://proxy.example:8080',
]);

Toto je ilustrativní konfigurace pro existující handle cURL. Nahraďte 192.0.2.20 zdrojovou adresou, která je na stroji spouštějícím PHP skutečně dostupná. Pro povolený veřejný požadavek bez účtu proxy může seznam HTTP proxy poskytnout vzdálený listener pro hodnotu proxy.

CURLOPT_INTERFACE vybírá místní stranu odchozího připojení. CURLOPT_PROXY vybírá prostředníka, který požadavek nese dál. Volba místního zdroje nepromění stroj ve vzdálené proxy ani mu nedá libovolnou veřejnou IP.

Na této cestě místní volba ovlivňuje připojení k proxy. Web obvykle vidí navazující zdrojovou adresu proxy. NAT mezi kteroukoli z obou dvojic může adresu, kterou každý příjemce vidí, dále přeložit.

Pokud je volba rozhraní vynechána, libcurl nechá TCP zásobník vybrat vhodný zdroj. Tato volba se řídí síťovou konfigurací stroje; není univerzálním pravidlem, že vyhraje první adresa v konfiguračním souboru.

libcurl přijímá názvy rozhraní na podporovaných platformách, ale jeho dokumentace pro tuto volbu vylučuje výběr názvů rozhraní Windows. Použití názvu hostitele může také spustit blokující vyhledávání. Známá místní adresa je jasnější vstup, když je to volba, kterou aplikace zamýšlí.

Související články