พร็อกซีภายในเครื่องที่รอฟังอยู่ข้างแอปพลิเคชันไม่ได้จำลองเครือข่ายที่ต้องเข้าถึงผ่านพร็อกซี แอปพลิเคชันอาจเพิกเฉยต่อพร็อกซีที่กำหนดค่าไว้ เชื่อมต่อโดยตรง และยังรายงานว่าสำเร็จ

แยกเครือข่ายของแอปพลิเคชันออกจากเส้นทางออกของพร็อกซี การจัดวางแบบคอนเทนเนอร์แบบหนึ่งวางแอปพลิเคชันไว้บนเครือข่ายภายในเท่านั้น และให้เครือข่ายทางออกที่สองแก่พร็อกซี ในนิยาม Compose ที่มีอยู่ การเชื่อมต่อเครือข่ายอาจมีลักษณะเช่นนี้:

services:
  app:
    networks: [clients]
  proxy:
    networks: [clients, egress]
networks:
  clients:
    internal: true
  egress: {}

นี่คือส่วนของเครือข่ายสำหรับบริการที่กำหนดไว้แล้ว กำหนดค่าพร็อกซีส่งต่อที่ได้รับอนุมัติและไคลเอนต์จริงของแอปพลิเคชันแยกจากกัน Docker บันทึกเครือข่ายภายในว่าแยกออกจากภายนอก ในการจัดวางนี้มีเพียงพร็อกซีเท่านั้นที่มีเครือข่ายภายนอกเพิ่มเติม

รวมกรณีเชิงลบที่ไม่ใช้พร็อกซีด้วย คำขอภายนอกของแอปพลิเคชันควรล้มเหลว สำหรับพร็อกซี HTTP ที่มีการพิสูจน์ตัวตน บัญชีที่ถูกปฏิเสธควรสร้างความล้มเหลวในการพิสูจน์ตัวตนของตน ขณะที่บัญชีที่ได้รับการยอมรับควรไปถึงเป้าหมายพร้อมการสังเกตพร็อกซีที่สอดคล้องกัน

ทดสอบกรณีที่พร็อกซีอนุญาตและปฏิเสธ แยกจากกัน เก็บแอปพลิเคชันให้ห่างจากเครือข่ายภายนอกอื่น และอย่าเพิ่มโหมดเครือข่ายโฮสต์ที่ข้ามพร็อกซี คำขอที่สำเร็จเป็นหลักฐานที่มีประโยชน์ก็ต่อเมื่อการทดสอบเปิดให้ใช้เส้นทางที่ตั้งใจไว้เท่านั้น

บทความที่เกี่ยวข้อง