Lokalni proxy koji sluša pored aplikacije ne reprodukuje mrežu koja zahteva pristup preko proxyja. Aplikacija može zanemariti konfigurisani proxy, povezati se direktno i ipak prijaviti uspeh.

Odvojite mrežu aplikacije od izlazne putanje proxyja. Jedan raspored zasnovan na kontejnerima stavlja aplikaciju samo na internu mrežu, a proxyju daje drugu izlaznu mrežu. U postojećoj Compose definiciji mrežni priključci mogu izgledati ovako:

services:
  app:
    networks: [clients]
  proxy:
    networks: [clients, egress]
networks:
  clients:
    internal: true
  egress: {}

Ovo je mrežni fragment za već definisane usluge. Konfigurišite odobreni prosleđujući proxy i stvarnog klijenta aplikacije odvojeno. Docker interne mreže dokumentuje kao izolovane spolja; u ovom rasporedu samo proxy ima dodatnu spoljnu mrežu.

Uključite negativan slučaj bez korišćenja proxyja: spoljni zahtev aplikacije treba da ne uspe. Kod HTTP proxyja sa proverom identiteta odbijeni nalog treba da proizvede svoju grešku provere, dok prihvaćeni nalog treba da dosegne cilj uz odgovarajuće zapažanje proxyja.

Testirajte dozvoljene i zabranjene slučajeve proxyja odvojeno. Držite aplikaciju podalje od drugih spoljnih mreža i ne dodajte režim host mreže koji zaobilazi proxy. Uspešan zahtev je koristan dokaz tek kada test omogućava upravo predviđenu putanju.

Povezani članci