Go standarta DefaultTransport iestata Proxy uz ProxyFromEnvironment. Atsevišķi izveidotam &http.Transport{} ir nil Proxy funkcija, tāpēc tas neizvēlas nevienu starpniekserveri.

Šī atšķirība var parādīties pēc transporta pievienošanas tikai taimauta maiņai. Kamēr standarta noklusējums joprojām ir instalēts, klonējiet to un nomainiet nepieciešamo lauku:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second

client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Klons saglabā vides starpniekservera izvēli un pārējos transporta noklusējuma iestatījumus. Tipa pārbaude pieņem, ka lietojumprogramma nav aizstājusi DefaultTransport ar citu RoundTripper.

Transportam, kas apzināti veidots no nulles, skaidri iestatiet Proxy: http.ProxyFromEnvironment, ja tā ir tā maršrutēšanas politika. Skaidra ProxyURL funkcija izsaka citu politiku: viens izvēlēts starpnieks.

Konfigurējiet transportu pirms paralēlu pieprasījumu izmantošanas un pēc tam izmantojiet to atkārtoti darba slodzei. Koplietota noklusējuma objekta maiņa var ietekmēt nesaistītus klientus.

Pielāgotie TLS iestatījumi ir atsevišķi. Sertifikātu pārbaudes atspējošana nav nepieciešama starpniekservera atklāšanas saglabāšanai, un tā mainītu katra atbilstošā HTTPS pieprasījuma drošību.

Saistītie raksti