Test proxyja treba da obori direktni izlaz
Odvojite testnu mrežu aplikacije od izlaza proxyja kako neprimijećena direktna veza ne bi učinila da test proxyja izgleda uspješan.
Lokalni proxy koji sluša pored aplikacije ne reprodukuje mrežu koja zahtijeva pristup preko proxyja. Aplikacija može zanemariti konfigurisani proxy, spojiti se direktno i ipak prijaviti uspjeh.
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 servise. Konfigurirajte odobreni prosljeđujući proxy i stvarnog klijenta aplikacije odvojeno. Docker interne mreže dokumentuje kao izolovane spolja; u ovom rasporedu samo proxy ima dodatnu vanjsku mrežu.
Uključite negativan slučaj bez korištenja proxyja: vanjski zahtjev aplikacije treba da ne uspije. Kod HTTP proxyja sa provjerom identiteta odbijeni račun treba da proizvede svoju grešku provjere, dok prihvaćeni račun treba da dosegne cilj uz odgovarajuće zapažanje proxyja.
Testirajte dozvoljene i zabranjene slučajeve proxyja odvojeno. Držite aplikaciju podalje od drugih vanjskih mreža i ne dodajte način host mreže koji zaobilazi proxy. Uspješan zahtjev je koristan dokaz tek kada test omogućava upravo predviđenu putanju.