پروکسی محلی که در کنار یک برنامه گوش می‌دهد، شبکه‌ای را که به دسترسی از طریق پروکسی نیاز دارد بازتولید نمی‌کند. برنامه ممکن است پروکسی پیکربندی‌شده را نادیده بگیرد، مستقیم متصل شود و باز هم موفقیت گزارش کند.

شبکهٔ برنامه را از مسیر بیرونی پروکسی جدا کنید. یک چیدمان مبتنی بر کانتینر برنامه را فقط روی شبکهٔ داخلی می‌گذارد و به پروکسی شبکهٔ خروجی دومی می‌دهد. در تعریف موجود Compose، اتصال‌های شبکه می‌توانند چنین باشند:

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

این قطعه‌ای از شبکه برای سرویس‌های از پیش تعریف‌شده است. پروکسی ارسال تأییدشده و مشتری واقعی برنامه را جداگانه پیکربندی کنید. Docker شبکه‌های داخلی را از بیرون جدا می‌داند؛ در این چیدمان تنها پروکسی شبکهٔ بیرونی افزوده را دارد.

یک حالت منفی بدون استفاده از پروکسی بگنجانید: درخواست بیرونی برنامه باید شکست بخورد. در پروکسی HTTP دارای احراز هویت، حساب ردشده باید خطای احراز هویت خود را بدهد، و حساب پذیرفته‌شده باید با مشاهدهٔ متناظر پروکسی به هدف برسد.

حالت‌های مجاز و ردشدهٔ پروکسی را جداگانه بیازمایید. برنامه را از شبکه‌های بیرونی دیگر دور نگه دارید و حالت شبکهٔ میزبان که پروکسی را دور می‌زند اضافه نکنید. درخواست موفق تنها زمانی شاهد سودمندی است که آزمون دقیقاً همان مسیر موردنظر را فراهم کند.

مقالات مرتبط