Тестот на прокси треба да го изеде директниот излез
Одделете ја тестната мрежа на апликацијата од излезот на проксито, за да не може незабележана директна врска да направи тестот на прокси да изгледа успешен.
Локалното прокси што слуша покрај апликацијата не ја репродуцира мрежата што бара пристап преку прокси. Апликацијата може да го игнорира конфигурираното прокси, да се поврзе директно и сепак да пријави успех.
Одделете ја мрежата на апликацијата од излезната патека на проксито. Еден распоред заснован на контејнери ја става апликацијата само на внатрешна мрежа, а на проксито му дава втора излезна мрежа. Во постоечка Compose дефиниција мрежните приклучоци може да изгледаат вака:
services:
app:
networks: [clients]
proxy:
networks: [clients, egress]
networks:
clients:
internal: true
egress: {}
Ова е мрежен фрагмент за веќе дефинирани услуги. Конфигурирајте го одобреното пренасочувачко прокси и вистинскиот клиент на апликацијата одделно. Docker внатрешните мрежи ги документира како изолирани однадвор; во овој распоред само проксито ја има дополнителната надворешна мрежа.
Вклучете негативен случај без употреба на прокси: надворешното барање на апликацијата треба да не успее. Кај HTTP прокси со автентикација, одбиената сметка треба да ја даде својата грешка при автентикација, додека прифатената сметка треба да ја достигне целта со соодветно набљудување од проксито.
Тестирајте ги одделно дозволените и одбиените случаи на проксито. Држете ја апликацијата подалеку од други надворешни мрежи и не додавајте режим на хост мрежа што го заобиколува проксито. Успешното барање е корисен доказ само кога тестот ја обезбедува токму предвидената патека.