Toxiproxy leitet einen TCP-Stream an ein konfiguriertes Upstream weiter und kann diesen Stream beeinträchtigen. Seine HTTP-Steuerungs-API macht den Traffic-Listener nicht zu einem HTTP-Forward-Proxy.

Für ein SDK, das einen HTTP-Proxy verwendet, kann ein vorhandener Forward-Proxy dahinter sitzen:

SDK → Toxiproxy 127.0.0.1:7890 → HTTP proxy 127.0.0.1:8888 → S3:443

Konfigurieren Sie den Toxiproxy-Listener auf 7890 mit 127.0.0.1:8888 als Upstream. Richten Sie die HTTP-Proxy-Einstellung des SDK auf http://127.0.0.1:7890. Der Listener reicht die CONNECT-Anfrage des SDK weiter; der HTTP-Proxy interpretiert CONNECT und öffnet den Tunnel zum Ziel.

Diese Loopback-Adressen setzen voraus, dass alle drei lokalen Komponenten denselben Netzwerk-Namespace teilen. Komponenten in Containern benötigen Adressen, die aus ihren eigenen Namespaces erreichbar sind.

Diese Anordnung ändert den Pfad vom Client zum Forward-Proxy. Sie ersetzt weder das TLS des Ziels noch die Dienstauthentifizierung. Bei der Bewertung eines injizierten Fehlers sind die Wiederholungen des SDK getrennt zu berücksichtigen: Eine wiederhergestellte Operation kann einen früheren fehlgeschlagenen Versuch verdecken.

Ähnliche Artikel