Nagłówek dodany do http.Request.Header opisuje żądanie docelowe. Gdy HTTPS korzysta z serwera proxy HTTP, transport najpierw wykonuje CONNECT. Nagłówki żądania docelowego nie są ogólnym API konfiguracji dla tej wcześniejszej wymiany.

Dla statycznego nagłówka wymaganego przez proxy skonfiguruj ProxyConnectHeader transportu:

transport := &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
    ProxyConnectHeader: http.Header{
        "X-Proxy-Account": []string{"example-account"},
    },
}

Tutaj proxyURL to sparsowany URL punktu końcowego. Nagłówek jest przykładowy i przydatny tylko wtedy, gdy operator proxy definiuje takie pole.

Dla wartości wybieranej dla każdego proxy lub celu użyj GetProxyConnectHeader. Udokumentowane wywołanie zwrotne otrzymuje URL proxy i cel CONNECT. Gdy to wywołanie nie jest nil, statyczne pole ProxyConnectHeader jest ignorowane.

Trzymaj wartości w zamierzonym zakresie. Znacznik konta tylko dla proxy należy do wymiany z proxy; wartość autoryzacji witryny należy do żądania docelowego. Jeśli wywołanie zwrotne nie może wytworzyć wymaganej wartości uścisku dłoni, zwróć jego błąd, zamiast po cichu wysyłać inaczej skonfigurowane żądanie.

Te ustawienia dostosowują obsługę CONNECT. Nie wymyślają własnego protokołu uwierzytelniania ani nie zmieniają polityki dostępu usługi proxy.

Powiązane artykuły