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ę.

Powiązane artykuły