Test proxy powinien doprowadzać do błędu połączenia bezpośredniego
Oddziel sieć testową aplikacji od wyjścia proxy, aby niezauważone połączenie bezpośrednie nie sprawiało, że test proxy wygląda na udany.
Lokalne proxy nasłuchujące obok aplikacji nie odtwarza sieci wymagającej dostępu przez proxy. Aplikacja może zignorować skonfigurowane proxy, połączyć się bezpośrednio i mimo to zgłosić sukces.
Oddziel sieć aplikacji od ścieżki wyjściowej proxy. Jeden układ oparty na kontenerach umieszcza aplikację tylko w sieci wewnętrznej, a proxy daje drugą sieć wyjściową. W istniejącej definicji Compose przypięcia sieci mogą wyglądać tak:
services:
app:
networks: [clients]
proxy:
networks: [clients, egress]
networks:
clients:
internal: true
egress: {}
To fragment sieci dla już zdefiniowanych usług. Skonfiguruj zatwierdzone proxy przekazujące i rzeczywistego klienta aplikacji osobno. Docker dokumentuje sieci wewnętrzne jako izolowane z zewnątrz; w tym układzie tylko proxy ma dodatkową sieć zewnętrzną.
Uwzględnij przypadek negatywny bez użycia proxy: zewnętrzne żądanie aplikacji powinno się nie powieść. W uwierzytelnianym proxy HTTP odrzucone konto powinno wywołać błąd uwierzytelniania, a konto zaakceptowane powinno dotrzeć do celu z odpowiednią obserwacją proxy.
Testuj osobno przypadki dozwolone i odrzucone przez proxy. Trzymaj aplikację z dala od innych sieci zewnętrznych i nie dodawaj trybu sieci hosta omijającego proxy. Udane żądanie jest użytecznym dowodem dopiero wtedy, gdy test udostępnia dokładnie zamierzoną trasę.