การทดสอบพร็อกซีควรทำให้การเชื่อมต่อโดยตรงล้มเหลว
แยกเครือข่ายทดสอบของแอปพลิเคชันออกจากทางออกของพร็อกซี เพื่อไม่ให้การเชื่อมต่อโดยตรงที่ไม่ทันสังเกตทำให้การทดสอบพร็อกซีดูเหมือนสำเร็จ
พร็อกซีภายในเครื่องที่รอฟังอยู่ข้างแอปพลิเคชันไม่ได้จำลองเครือข่ายที่ต้องเข้าถึงผ่านพร็อกซี แอปพลิเคชันอาจเพิกเฉยต่อพร็อกซีที่กำหนดค่าไว้ เชื่อมต่อโดยตรง และยังรายงานว่าสำเร็จ
แยกเครือข่ายของแอปพลิเคชันออกจากเส้นทางออกของพร็อกซี การจัดวางแบบคอนเทนเนอร์แบบหนึ่งวางแอปพลิเคชันไว้บนเครือข่ายภายในเท่านั้น และให้เครือข่ายทางออกที่สองแก่พร็อกซี ในนิยาม Compose ที่มีอยู่ การเชื่อมต่อเครือข่ายอาจมีลักษณะเช่นนี้:
services:
app:
networks: [clients]
proxy:
networks: [clients, egress]
networks:
clients:
internal: true
egress: {}
นี่คือส่วนของเครือข่ายสำหรับบริการที่กำหนดไว้แล้ว กำหนดค่าพร็อกซีส่งต่อที่ได้รับอนุมัติและไคลเอนต์จริงของแอปพลิเคชันแยกจากกัน Docker บันทึกเครือข่ายภายในว่าแยกออกจากภายนอก ในการจัดวางนี้มีเพียงพร็อกซีเท่านั้นที่มีเครือข่ายภายนอกเพิ่มเติม
รวมกรณีเชิงลบที่ไม่ใช้พร็อกซีด้วย คำขอภายนอกของแอปพลิเคชันควรล้มเหลว สำหรับพร็อกซี HTTP ที่มีการพิสูจน์ตัวตน บัญชีที่ถูกปฏิเสธควรสร้างความล้มเหลวในการพิสูจน์ตัวตนของตน ขณะที่บัญชีที่ได้รับการยอมรับควรไปถึงเป้าหมายพร้อมการสังเกตพร็อกซีที่สอดคล้องกัน
ทดสอบกรณีที่พร็อกซีอนุญาตและปฏิเสธ แยกจากกัน เก็บแอปพลิเคชันให้ห่างจากเครือข่ายภายนอกอื่น และอย่าเพิ่มโหมดเครือข่ายโฮสต์ที่ข้ามพร็อกซี คำขอที่สำเร็จเป็นหลักฐานที่มีประโยชน์ก็ต่อเมื่อการทดสอบเปิดให้ใช้เส้นทางที่ตั้งใจไว้เท่านั้น