פרוקסי מקומי שמאזין לצד יישום אינו משחזר רשת שמחייבת גישה דרך פרוקסי. היישום עלול להתעלם מהפרוקסי המוגדר, להתחבר ישירות ובכל זאת לדווח על הצלחה.

הפרידו בין הרשת של היישום לנתיב היציאה של הפרוקסי. סידור אחד מבוסס מכולות מציב את היישום רק ברשת פנימית ונותן לפרוקסי רשת יציאה שנייה. בהגדרת Compose קיימת, חיבורי הרשת יכולים להיראות כך:

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

זהו קטע רשת לשירותים שכבר הוגדרו. הגדירו בנפרד את פרוקסי ההעברה המאושר ואת הלקוח בפועל של היישום. Docker מתעד רשתות פנימיות כמבודדות מבחוץ; בסידור הזה רק לפרוקסי יש את הרשת החיצונית הנוספת.

כללו מקרה שלילי ללא שימוש בפרוקסי: הבקשה החיצונית של היישום אמורה להיכשל. בפרוקסי HTTP מאומת, חשבון שנדחה אמור להפיק את כשל האימות שלו, ואילו החשבון שהתקבל אמור להגיע ליעד עם תצפית פרוקסי מתאימה.

בדקו בנפרד את המקרים המותרים והנדחים של הפרוקסי. הרחיקו את היישום מרשתות חיצוניות אחרות והימנעו מהוספת מצב רשת מארח שעוקף את הפרוקסי. בקשה מוצלחת היא ראיה שימושית רק לאחר שהבדיקה מאפשרת בדיוק את המסלול המיועד.

מאמרים קשורים