Bir proxy testi doğrudan bağlantıyı başarısız kılmalıdır
Uygulamanın test ağını proxy’nin çıkışından ayırın; böylece fark edilmeyen doğrudan bir bağlantı, proxy testini başarılı göstermez.
Bir uygulamanın yanında dinleyen yerel proxy, proxy üzerinden erişim gerektiren bir ağı yeniden üretmez. Uygulama yapılandırılmış proxy’yi yok sayabilir, doğrudan bağlanabilir ve yine de başarı bildirebilir.
Uygulamanın ağını proxy’nin dışa giden yolundan ayırın. Konteyner tabanlı bir düzen, uygulamayı yalnızca iç ağa koyar ve proxy’ye ikinci bir çıkış ağı verir. Var olan bir Compose tanımında ağ bağlantıları şöyle görünebilir:
services:
app:
networks: [clients]
proxy:
networks: [clients, egress]
networks:
clients:
internal: true
egress: {}
Bu, zaten tanımlanmış hizmetler için bir ağ parçasıdır. Onaylanmış yönlendirici proxy’yi ve uygulamanın gerçek istemcisini ayrı ayrı yapılandırın. Docker, iç ağları dışarıdan yalıtılmış olarak belgeler; bu düzende ek dış ağa yalnızca proxy sahiptir.
Proxy kullanımı olmayan olumsuz bir durum da ekleyin: uygulamanın dış isteği başarısız olmalıdır. Kimlik doğrulamalı bir HTTP proxy’de reddedilen hesap kendi kimlik doğrulama hatasını üretmeli, kabul edilen hesap ise ilgili proxy gözlemiyle hedefe ulaşmalıdır.
Proxy’nin izin verilen ve reddedilen durumlarını ayrı ayrı test edin. Uygulamayı diğer dış ağlardan uzak tutun ve proxy’yi atlayan bir ana makine ağ modu eklemeyin. Başarılı bir istek, ancak test tam olarak amaçlanan yolu sunduğunda yararlı bir kanıttır.