Technical Anshu דף הבית › הדרכות › התקנת Nginx Proxy Manager
🐳 Proxy הפוך של Docker

התקנת Nginx Proxy Manager - מדריך התקנה של 2 דקות

השירותים שלך נמצאים כרגע בכתובות מכוערות כמו 192.168.1.50:8080. Nginx Proxy Manager הופך אותם לשמות נקיים כמו app.yourdomain.com עם HTTPS בחינם - מותקן עם קובץ Docker Compose אחד ומנוהל מפאנל אינטרנט פשוט במקום קובצי תצורה בכתב יד.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
התקנת Nginx Proxy Manager - מדריך התקנה של 2 דקות
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑פרקים

  1. מה עושה פרוקסי הפוך - דלת אחת לכל השירותים שלך
  2. מה שאתה צריך לפני שתתחיל - Docker, דומיין ויציאות נגישות
  3. כוון את ה-DNS של הדומיין שלך לשרת לפני התקנת משהו
  4. צור את התיקיה ואת הקובץ docker-compose.yml
  5. הפעל את Nginx Proxy Manager עם פקודה אחת
  6. כניסה ראשונה - שלב חשבון הניהול כולם טועים
  7. צור את מארח ה-proxy הראשון שלך, שדה אחר שדה
  8. קבל את אישור ה-Lets Encrypt HTTPS בחינם והפעל את Force SSL

📋 סקירה כללית ומדריך שלב אחר שלב

1

מה אתה צריך לפני שמתחילים

שלושה דברים חייבים להתקיים לפני Nginx Proxy Manager (NPM) יכול לעבוד. ראשית, שרת לינוקס או PC עם Docker ו- Docker Compose כבר מותקן ועובד - NPM פועל כמיכל, לא כתוכנית רגילה. שנית, שם דומיין שאת ה-DNS שלו אתה יכול לערוך, כי כל שירות מקבל תת-דומיין משלו. שלישית, הנתב או חומת האש בענן שלך חייבים להיות מסוגלים להעביר יציאות 80 ו-443 למחשב הזה.

📌 בקשר ל-"2 דקות" בכותרת: התחלת המכולה עצמה היא מהירה באמת - אבל רק ברגע ש-Docker כבר מותקן וההכנה במדריך זה מתבצעת. במחשב חדש, אפשר זמן מתאים לשלבי ההגדרה, ה-DNS והאישור; הסכום הכנה ארוך משתי דקות.
⚠️ בחיבור ביתי מאחורי CGNAT, העברת פורטים לא יכולה לעבוד בכלל - שום הגדרה בתוך NPM לא מתקנת את זה. האפשרויות הכנות אם כן הן IP ציבורי/סטטי מ-ISP שלך, VPS קטן שכורה, או כלי מנהרה במקום זאת. אל תדלג על בדיקה זו: מחצית מכל סיפורי "NPM לא עובד" הם באמת סיפורי "היציאות מעולם לא הגיעו לשרת".
2

כוון תחילה את ה-DNS של הדומיין שלך לשרת

NPM מנתבת תעבורה לפי שם, ו-Let's Encrypt מנפיקה אישורים רק עבור שמות שמצביעים בוודאי על המחשב שלך - כך שהשם צריך לפתור לפני שאתה בונה עליו משהו. אצל הרשם או מארח ה-DNS שלך, הוסף רשומה A: השם הוא מילת תת-הדומיין בלבד (לדוגמה app) והערך הוא כתובת ה-IP הציבורית של השרת שלך. כל שירות מקבל את הרשומה שלו, וכולם יכולים להצביע על אותו IP - NPM מפרידה בין השירותים מאוחר יותר, לפי השם. הגדר TTL קצר כמו 300 שניות בזמן הבדיקה, כך שהטעויות יתפוגגות תוך דקות במקום שעות.

הוכח זאת לפני שתמשיך: בדוק שהשם עובר ל-IP הציבורי שלך מרשת חיצונית (למשל מהטלפון שלך עם Wi-Fi כבוי). בקשת אישור נגד פסולת DNS שבור מאפשרת ניסיונות להצפין וכשלים חוזרים ונשנים יכולים להגביל אותך לשעות. הסדר חשוב: DNS ראשון, מארח proxy שני, אישור שלישי.

3

צור את התיקיה ואת קובץ הכתיבה

צור תיקייה עבור NPM בשרת ושמור את הקובץ למטה בתוכה בתור docker-compose.yml. הקובץ היחיד הזה הוא ההתקנה השלמה. שם התמונה הוא תמונת הקהילה הרשמית. יציאות 80 ו-443 הן הדלתות הציבוריות, יציאה 81 היא פאנל הניהול, ושני הכרכים הם המקום שבו כל ההגדרה שלך חיה: ./data מחזיק את מסד הנתונים עם כל מארחי ה-proxy שלך, ו-./letsencrypt מחזיק בתעודות שלך. תאבד את שתי התיקיות ואתה מאבד את כל ההגדרה - גבה אותן ברגע שהדברים פועלים.

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

שורת restart: unless-stoped מחזירה את NPM באופן אוטומטי לאחר אתחול מחדש.

4

הפעל את Nginx Proxy Manager

מתוך התיקיה הזו, הפעל את פקודת התחל. Docker מוריד את התמונה ומתחיל את המיכל ברקע.

Terminal
docker compose up -d

תבדוק שהוא פועל:

Terminal
docker ps

אתה אמור לראות את הקונטיינר רשום עם יציאות 80, 443 ו-81. בשרת קטן ההתחלה הראשונה אורכת דקה או שתיים בזמן שמסד הנתונים נוצר. אם המיכל ממשיך להפעיל מחדש, היומנים מראים את הסיבה בשפה פשוטה:

Terminal
docker compose logs

תשע פעמים מתוך עשר לולאת הפעלה מחדש היא יציאה שכבר נעשה בה שימוש על ידי משהו אחר במארח - בדרך כלל שרת אינטרנט ישן שעדיין פועל.

5

כניסה ראשונה - אבטח את חשבון הניהול באופן מיידי

פתח את לוח הניהול בדפדפן ברשת שלך:

Browser Address Bar
http://your-server-ip:81

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

⚠️ לעולם אל תשאיר את נמל 81 נגיש לציבור בזמן שאתה "תסיים את זה מאוחר יותר". כל מי באינטרנט שמוצא את הפאנל הוא הבעלים של ה-proxy שלך. שמור את פאנל הניהול ברשת שלך בלבד.
6

צור את מארח ה-Proxy הראשון שלך

ב-NPM פתח את מארחים → מארחי פרוקסי → הוסף מארח פרוקסי ומלא את הטופס כמשפט אחד - "השם הזה הולך לשירות הפנימי הזה":

שמות דומיין: app.yourdomain.com - השם הציבורי המדויק משלב 2, שחייב כבר להסדיר לשרת שלך.
סכימה: http עבור רוב האפליקציות הביתיות והמשרדיות. Scheme מתארת ​​את הקשר בין NPM לשירות הפנימי, ולא את מה שמבקרים משתמשים בהם - NPM מטפלת בהצפנה הציבורית בדלת. בחר כאן https רק כאשר האפליקציה הפנימית עצמה משרתת HTTPS.
העבר שם מארח / IP: הכתובת הפנימית של השירות, לדוגמה 192.168.1.50.
יציאה קדימה: היציאה בה השירות מאזין בפועל, לדוגמה 8080 - לא 80 או 443; אלה הדלתות של NPM, לא של השירות.

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

✅ 502 Bad Gateway מ-NPM הוא תמרור, לא כשל: זה אומר שהעולם החיצון הגיע ל-NPM בצורה מושלמת ורק ההופ הפנימי האחרון - שם מארח או יציאה - שגוי. תקן את השדה הזה, לא את כל ההגדרה. עוד מלכודת אחת: אם השירות פועל בקונטיינר אחר של Docker, localhost שגוי (בתוך הקונטיינר של NPM, localhost פירושו NPM עצמו) - השתמשו ב-LAN IP של השרת עם היציאה שפורסמה, או שימו את שני הקונטיינרים באותה רשת Docker והשתמשו בשם הקונטיינר.
7

קבל את תעודת ה-HTTPS בחינם של Lets Encrypt

עשה זאת רק לאחר שהמארח הרגיל משלב 6 כבר עובד - HTTPS על מארח שבור נותן לך מארח שבור עם אישור, ופעמיים את המקומות לחפש את התקלה. פתח את אותו מארח פרוקסי, עבור לכרטיסייה SSL, הגדר את אישור SSL ל-בקש אישור SSL חדש, הפעל את כפוף SSL ותמיכה בHTTP/2, הסכים לתנאי השירות של Lets Encrypt ושמור. טען מחדש את האתר - הדפדפן אמור כעת להציג את המנעול ב-https.

איך זה עובד: מאפשר להצפין מוכיח שאתה שולט בשם על ידי בקשת השרת שלך, דרך האינטרנט הציבורי ביציאה 80, להציג אסימון חד פעמי (אתגר HTTP-01). זו הסיבה שה-DNS המצביע אליך ויציאה 80 נגישה אינם ניתנים למשא ומתן - נכשל באחת מהן והבקשה נכשלת, והשגיאה היא בהתקנה, לעולם לא ב-Lets Encrypt. כפוף SSL מפנה מחדש כל מבקר http אל https באופן אוטומטי; בלעדיה הדלת הלא מוצפנת נשארת פתוחה לצד הדלת המוצפנת.

📌 אישורים חיים למשך 90 יום ו-NPM מחדשת אותם אוטומטית, בדרך כלל כחודש לפני פקיעת התוקף, תוך שימוש באותה הוכחה של יציאה 80. אם אי פעם חידוש נכשל, בדוק תחילה את הסיבות המשעממות: DNS שונה, העברת הנתב הוסר או יציאה 80 נחסמה. אפשר HSTS רק לאחר שהשירות מסודר ומוכחים חידושים - זוהי הבטחה חזקה שדפדפנים זוכרים במשך חודשים.

🏷️משתני חיפוש נושאים ומילות מפתח

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ תמלול מלא - הקש כדי להרחיב

__TOK_34__

__TOK_35__

__TOK_36__

❓ שאלות נפוצות

האם הדרכה זו היא 100% בחינם למעקב?

__TOK_37__

האם מתחילים יכולים לעקוב אחר המדריך הזה?

__TOK_38__

איפה אני יכול לשאול שאלות אם אני נתקע?

__TOK_39__

🚀 צפה במדריך המלא ב-YouTube

__TOK_40__

__TOK_41__

▶️ צפה בסרטון המלא
הדרכה זו מבוססת על סרטון התקנת Nginx Proxy Manager של Technical Anshu • נתקעתם בשלב כלשהו? שאלו בתגובות הסרטון - שם תקבלו עזרה 🙏