Toxiproxy kann vor dem HTTP-Proxy sitzen
Leiten Sie die HTTP-Proxy-Verbindung eines SDK über Toxiproxy zu einem bestehenden Forward-Proxy, der CONNECT versteht.
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.