Test proxyja treba osujetiti izravni izlaz
Odvojite testnu mrežu aplikacije od izlaza proxyja kako neprimijećena izravna veza ne bi učinila da test proxyja izgleda uspješno.
Lokalni proxy koji sluša uz aplikaciju ne reproducira mrežu koja zahtijeva pristup preko proxyja. Aplikacija može zanemariti konfigurirani proxy, spojiti se izravno i ipak prijaviti uspjeh.
Odvojite mrežu aplikacije od izlaznog puta 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ć definirane usluge. Konfigurirajte odobreni prosljeđujući proxy i stvarnog klijenta aplikacije odvojeno. Docker interne mreže dokumentira kao izolirane izvana; u ovom rasporedu samo proxy ima dodatnu vanjsku mrežu.
Uključite negativan slučaj bez upotrebe proxyja: vanjski zahtjev aplikacije trebao bi ne uspjeti. Kod HTTP proxyja s provjerom identiteta odbijeni račun trebao bi proizvesti svoju pogrešku provjere, dok bi prihvaćeni račun trebao dosegnuti cilj s odgovarajućim opažanjem proxyja.
Testirajte dopuštene i zabranjene slučajeve proxyja odvojeno. Držite aplikaciju podalje od drugih vanjskih mreža i ne dodajte način rada host mreže koji zaobilazi proxy. Uspješan zahtjev koristan je dokaz tek kad test omogućuje upravo predviđenu putanju.