Test proxy má nechat přímé spojení selhat
Oddělte testovací síť aplikace od výstupu proxy, aby nepovšimnuté přímé spojení nemohlo způsobit, že test proxy bude vypadat úspěšně.
Lokální proxy naslouchající vedle aplikace neznovu vytváří síť, která vyžaduje přístup přes proxy. Aplikace může nakonfigurované proxy ignorovat, připojit se přímo a přesto hlásit úspěch.
Oddělte síť aplikace od odchozí cesty proxy. Jedno uspořádání založené na kontejnerech umísťuje aplikaci pouze do interní sítě a proxy dává druhou výstupní síť. V existující definici Compose mohou síťová připojení vypadat takto:
services:
app:
networks: [clients]
proxy:
networks: [clients, egress]
networks:
clients:
internal: true
egress: {}
Toto je síťový fragment pro již definované služby. Nakonfigurujte schválené dopředné proxy a skutečného klienta aplikace odděleně. Docker dokumentuje interní sítě jako izolované zvenčí; v tomto uspořádání má dodatečnou vnější síť pouze proxy.
Zahrňte negativní případ bez použití proxy: externí požadavek aplikace má selhat. U HTTP proxy s ověřováním má odmítnutý účet vyvolat chybu ověření, zatímco přijatý účet má dosáhnout cíle s odpovídajícím pozorováním proxy.
Otestujte povolené a zamítnuté případy proxy odděleně. Držte aplikaci mimo jiné externí sítě a nepřidávejte režim hostitelské sítě, který proxy obchází. Úspěšný požadavek je užitečným důkazem jen tehdy, když test zpřístupňuje právě zamýšlenou trasu.