آنچه باید بدانید
- نگاشت بدون آدرس میتواند همهٔ رابطهای میزبان را باز کند.
- loopback باید با مسیر واقعی پراکسی سازگار باشد.
- پس از بازسازی، موفقیت داخلی و نبود دسترسی بیرونی را بیازمایید.
مسیر اتصال موردنظر را ترسیم کنید
این آموزش میزبان لینوکس Docker با پراکسی معکوس روی همان میزبان را فرض میکند. پیش از ویرایش Compose، مسیر مجاز مشتری، پراکسی، برنامه و دیتابیس را بکشید. اگر پراکسی داخل کانتینر دیگر است، شبکهٔ خصوصی مناسب کانتینر را طراحی کنید؛ localhost آن با localhost میزبان یکی نیست. تنظیمات سالم را ذخیره و زمان بازسازی سرویس درگیر را مشخص کنید.
پورتهای منتشرشده را فهرست کنید
راهنمای انتشار پورت Docker توضیح میدهد نگاشت بدون آدرس میزبان معمولاً روی همهٔ رابطها منتشر میشود. نگاشت واقعی و پورتهای شنود را ببینید:
docker ps --format 'table {{.Names}}\t{{.Ports}}'
sudo ss -lntupسرویس محدود به شبکهٔ کانتینر را از پورت نگاشتشده به میزبان جدا کنید. وضعیت IPv4 و IPv6 را بنویسید. نصب قدیمی Engine را با محدودیتهای مستند، از جمله رفتار انتشار localhost در نسخههای قدیمیتر از 28.0.0، مقایسه کنید.
بکاند هممیزبان را آگاهانه محدود کنید
در تعریف سرویس فعلی، نمونهٔ زیر آدرس انتشار را به loopback در IPv4 محدود میکند:
ports:
- "127.0.0.1:8080:80"این فقط قطعهٔ تنظیم است، نه فایل کامل Compose. تصویر، volume، متغیرها و شبکهٔ برنامه را حفظ کنید. پراکسی همان میزبان باید به بکاند تازه اشاره کند. دیتابیسی که فقط در شبکهٔ داخلی کانتینر استفاده میشود معمولاً به پورت منتشرشدهٔ میزبان نیاز ندارد؛ پیش از حذف نگاشت، مصرفکنندگان را بررسی کنید.
هر دو سمت مرز را آزمایش کنید
docker compose config --quietپس از تأیید ساختار، سرویس موردنظر را در زمان توافقشده بازسازی کنید؛ تغییر نگاشت پورت صرفاً بارگذاری مجدد برنامه نیست. ارتباط پراکسی و برنامه را بررسی کنید و از دستگاه بیرونی مستقل ببینید پورت بکاند در دسترس نباشد. سایت عمومی را هم عادی بیازمایید. Docker قواعد فایروال خود را میسازد؛ سیاست UFW بهتنهایی مدرک جداسازی کانتینر نیست.
مرز و روش برگشت را ثبت کنید
اگر پراکسی خراب شد، نگاشت ذخیرهشده را برگردانید و هنگام بررسی، همان سرویس را بازسازی کنید. در تغییر شبکه، پشتیبان دیتابیس و volume ماندگار را دستنخورده نگه دارید. Docker بدون root کنترل دیگری برای کار مناسب است و جای تعیین دقیق دسترسی شبکه را نمیگیرد. راهنمای فایروال میزبان و حفاظت کلیدها استقرار را تکمیل میکنند.
منابع و مطالعهٔ بیشتر
گزارش این مطلب بر پایهٔ منابع اصلی زیر است. توصیههای اجرایی، راهنمای عمومی کیاوا هستند و باید با شرایط پروژه تطبیق داده شوند.
