Scheid voor een bestaande libcurl-handle de lijsten met bestemmings- en proxyheaders expliciet:

curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers);

Houd de geconfigureerde handle en de geldige lijsten in leven tijdens de overdracht. CURLHEADER_SEPARATE onderscheidt headers die op CONNECT worden gebruikt van headers die voor het bestemmingsverzoek worden gebruikt. Oudere voorbeelden met een uniform beleid kunnen de gewone lijst in beide uitwisselingen plaatsen.

VerzoekpadBetekenis van afzonderlijke lijsten
HTTPS in een gewone CONNECT-tunnelDe proxy-uitwisseling komt eerst; daarna volgen de HTTP-headers van de bestemming binnen de TLS van de bestemming.
Gewone HTTP-doorsturingDe proxy kan de bestemmingsheaders lezen, en libcurl kan beide toepasselijke lijsten gebruiken op het ene doorgestuurde verzoek.

Een routeringsmarkering die alleen voor de proxy is, hoort bij de proxy-uitwisseling. Bij doorsturing in platte tekst kan een willekeurig aangepast veld de oorsprong bereiken, tenzij de doorsturingsregeling het afhandelt; de naam van de optie is geen garantie voor vertrouwelijkheid.

Gebruik ondersteunde inloggegevensopties voor authenticatie. Bepaal voor door de operator gedefinieerde metadata welke hop ze verbruikt en of ze mogen worden doorgestuurd in plaats van een wachtwoord in een generiek veld te zetten.

Wanneer een markering ontbreekt of lijkt te lekken, identificeer dan het werkelijke verzoek dat deze bevat. Een header-callback die meerdere uitwisselingen toont, kan correct gescheiden lijsten vermengd laten lijken.

Gerelateerde artikelen