الجدار الناري قفل الوارد على 3000 و7000 لأن الافتراض deny incoming. ده كويس. كمّل من جهة التطبيق كمان: خليه يسمع على الجهاز بس.
لو التطبيق سامع على 0.0.0.0:7000، أي كرت شبكة على السيرفر يقدر يوصّله. لو الجدار الناري اتعطل أو حد فتح البورت بالغلط، الشقة تبقى على الشارع.
127.0.0.1. الزائر ما يحتاجش يكلّم 7000.
Express
server.js
app.listen(7000, "127.0.0.1");السطر التاني يعني: اسمع على الجهاز ده بس. مش على الإنترنت.
Vite
في إعداد Vite حط server.host على 127.0.0.1. أو شغّله بنفس المعنى من الأمر. الهدف واحد: البورت الداخلي مش عام.
بعدها الجدار الناري يقفّل الزيادة. لو البورت اتفتح بالغلط، التطبيق نفسه مش سامع من بره.
الصورة الأخيرة
| البورت | من الإنترنت |
|---|---|
| SSH | مفتوح للإدارة |
80 | مفتوح. Nginx يحوّل لـ 443 |
443 | مفتوح. Nginx يسلّم للتطبيق |
3000 Vite | مقفول |
7000 Express | مقفول |
| الباقي | مقفول |
خلّصت الفصل لما
🧠 اختبر نفسك
١) ليه التطبيق يسمع على 127.0.0.1 مش 0.0.0.0؟
عشان الإنترنت ما يكلّموش على بورتهم. Nginx بس اللي يكلّمه من نفس الجهاز.
٢) الزائر يفتح الموقع على بورت 7000؟
لأ. يفتح 443. Nginx يكمّل لـ 7000 جوّه.