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.

Související články