Boto3 przyjmuje jawną politykę proxy przez obiekt Config biblioteki botocore:

import boto3
from botocore.config import Config

network = Config(proxies={
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})
s3 = boto3.client('s3', config=network)

Klucze mapy wybierają protokół docelowy. Wartości opisują punkt końcowy proxy. Ten przykład wysyła zarówno żądania usług HTTP, jak i HTTPS przez jeden HTTP proxy przekazujący. Do dozwolonego testu publicznego punktu końcowego AWS bez konta proxy wpis HTTP z listy proxy HTTP może dostarczyć te dwa adresy URL.

Wartość https:// wymagałaby zamiast tego nasłuchującego proxy, które przyjmuje połączenie TLS od klienta. Nie zmieniaj schematu wartości tylko po to, by pasował do klucza HTTPS.

Config.proxies zastępuje wybór proxy ze zmiennych środowiskowych HTTP_PROXY i HTTPS_PROXY dla tego klienta. Innych klientów można tworzyć z własnymi obiektami Config; utworzenie tego nie zmienia zmiennej środowiskowej w całym procesie.

Zachowaj wszelkie inne wymagane opcje klienta, takie jak region i polityka ponawiania, włączając to do aplikacji. Poświadczenia AWS pozostają w zwykłej konfiguracji poświadczeń aplikacji. Modyfikacja EndpointCreator lub innej prywatnej metody botocore nie jest potrzebna.

Do połączenia TLS z proxy HTTPS Config ma też opcje proxies_config, takie jak proxy_ca_bundle i proxy_client_cert. Dotyczą one zaufania i uwierzytelniania certyfikatu klienta w połączeniu przez proxy. Są niezależne od wyboru punktu końcowego usługi AWS lub podpisywania żądań AWS API.

Powiązane artykuły