Docker پورت را منتشر کرد. آیا پروکسی همانجا گوش میدهد؟
شنونده درون کانتینر پروکسی و نگاشت پورت میزبان Docker را هنگامی که اتصالها رد یا بازنشانی میشوند بررسی کنید.
پورت منتشرشده Docker مسیری به یک نقطه پایانی در کانتینر فراهم میکند. نه پروکسی را راهاندازی میکند و نه نشانیای را که آن فرایند روی آن گوش میدهد تغییر میدهد.
برای یک نگاشت معمول در شبکه پلی، این سه مقدار را مقایسه کنید:
| بخش مسیر | مقداری که باید بررسی شود |
|---|---|
| ورود کارخواه | نشانی میزبان و پورت منتشرشدهای که کارخواه با آن تماس میگیرد |
| هدف ارسال | نشانی و پورت کانتینری که نگاشت انتخاب میکند |
| سرویس | نشانی و پورتی که پروکسی در واقع درون کانتینر به آن متصل میشود |
پروکسیای که درون کانتینر فقط به 127.0.0.1 متصل شده باشد ممکن است ترافیک ارسالشده به نشانی شبکهای خود را دریافت نکند. این با انتشار پورت میزبان فقط روی loopback میزبان تفاوت دارد: آن محدود میکند چه کسی میتواند به نگاشت برسد، در حالی که loopback کانتینر میتواند مانع رسیدن نگاشت به سرویس شود.
شنونده درونی را برای استقرار مورد نظر انتخاب کنید و در همان حال انتشار محدود میزبان و دسترسی به پروکسی را حفظ کنید. اعلان پورت افشاشده در Dockerfile هیچ سرویسی را راهاندازی نمیکند و اجرای موفق کانتینر ثابت نمیکند که فرایند روی هدف ارسال گوش میدهد.
دنبال کنید که یک اتصال ناموفق تا کجا پیش میرود. ردها و بازنشانیها بسته به سکو و پیادهسازی ارسال متفاوتاند، بنابراین هیچکدام بهتنهایی یک تنظیم را مشخص نمیکند. وقتی به سرویس رسید، به دنبال سلام معتبر پروکسی بگردید و نسخه SOCKS، احراز هویت و سیاست مقصد مورد نیاز را اعمال کنید. تنها یک پورت میزبان قابل دسترس نمیتواند آن تواناییها را اثبات کند.