התקנת Nginx Proxy Manager - מדריך התקנה של 2 דקות
השירותים שלך נמצאים כרגע בכתובות מכוערות כמו 192.168.1.50:8080. Nginx Proxy Manager הופך אותם לשמות נקיים כמו app.yourdomain.com עם HTTPS בחינם - מותקן עם קובץ Docker Compose אחד ומנוהל מפאנל אינטרנט פשוט במקום קובצי תצורה בכתב יד.
📑פרקים
- מה עושה פרוקסי הפוך - דלת אחת לכל השירותים שלך
- מה שאתה צריך לפני שתתחיל - Docker, דומיין ויציאות נגישות
- כוון את ה-DNS של הדומיין שלך לשרת לפני התקנת משהו
- צור את התיקיה ואת הקובץ docker-compose.yml
- הפעל את Nginx Proxy Manager עם פקודה אחת
- כניסה ראשונה - שלב חשבון הניהול כולם טועים
- צור את מארח ה-proxy הראשון שלך, שדה אחר שדה
- קבל את אישור ה-Lets Encrypt HTTPS בחינם והפעל את Force SSL
📋 סקירה כללית ומדריך שלב אחר שלב
מה אתה צריך לפני שמתחילים
שלושה דברים חייבים להתקיים לפני Nginx Proxy Manager (NPM) יכול לעבוד. ראשית, שרת לינוקס או PC עם Docker ו- Docker Compose כבר מותקן ועובד - NPM פועל כמיכל, לא כתוכנית רגילה. שנית, שם דומיין שאת ה-DNS שלו אתה יכול לערוך, כי כל שירות מקבל תת-דומיין משלו. שלישית, הנתב או חומת האש בענן שלך חייבים להיות מסוגלים להעביר יציאות 80 ו-443 למחשב הזה.
כוון תחילה את ה-DNS של הדומיין שלך לשרת
NPM מנתבת תעבורה לפי שם, ו-Let's Encrypt מנפיקה אישורים רק עבור שמות שמצביעים בוודאי על המחשב שלך - כך שהשם צריך לפתור לפני שאתה בונה עליו משהו. אצל הרשם או מארח ה-DNS שלך, הוסף רשומה A: השם הוא מילת תת-הדומיין בלבד (לדוגמה app) והערך הוא כתובת ה-IP הציבורית של השרת שלך. כל שירות מקבל את הרשומה שלו, וכולם יכולים להצביע על אותו IP - NPM מפרידה בין השירותים מאוחר יותר, לפי השם. הגדר TTL קצר כמו 300 שניות בזמן הבדיקה, כך שהטעויות יתפוגגות תוך דקות במקום שעות.
הוכח זאת לפני שתמשיך: בדוק שהשם עובר ל-IP הציבורי שלך מרשת חיצונית (למשל מהטלפון שלך עם Wi-Fi כבוי). בקשת אישור נגד פסולת DNS שבור מאפשרת ניסיונות להצפין וכשלים חוזרים ונשנים יכולים להגביל אותך לשעות. הסדר חשוב: DNS ראשון, מארח proxy שני, אישור שלישי.
צור את התיקיה ואת קובץ הכתיבה
צור תיקייה עבור NPM בשרת ושמור את הקובץ למטה בתוכה בתור docker-compose.yml. הקובץ היחיד הזה הוא ההתקנה השלמה. שם התמונה הוא תמונת הקהילה הרשמית. יציאות 80 ו-443 הן הדלתות הציבוריות, יציאה 81 היא פאנל הניהול, ושני הכרכים הם המקום שבו כל ההגדרה שלך חיה: ./data מחזיק את מסד הנתונים עם כל מארחי ה-proxy שלך, ו-./letsencrypt מחזיק בתעודות שלך. תאבד את שתי התיקיות ואתה מאבד את כל ההגדרה - גבה אותן ברגע שהדברים פועלים.
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 באופן אוטומטי לאחר אתחול מחדש.
הפעל את Nginx Proxy Manager
מתוך התיקיה הזו, הפעל את פקודת התחל. Docker מוריד את התמונה ומתחיל את המיכל ברקע.
docker compose up -d
תבדוק שהוא פועל:
docker ps
אתה אמור לראות את הקונטיינר רשום עם יציאות 80, 443 ו-81. בשרת קטן ההתחלה הראשונה אורכת דקה או שתיים בזמן שמסד הנתונים נוצר. אם המיכל ממשיך להפעיל מחדש, היומנים מראים את הסיבה בשפה פשוטה:
docker compose logs
תשע פעמים מתוך עשר לולאת הפעלה מחדש היא יציאה שכבר נעשה בה שימוש על ידי משהו אחר במארח - בדרך כלל שרת אינטרנט ישן שעדיין פועל.
כניסה ראשונה - אבטח את חשבון הניהול באופן מיידי
פתח את לוח הניהול בדפדפן ברשת שלך:
http://your-server-ip:81
עשה זאת בדקה הראשונה. בהתאם למבנה, NPM מבקשת ממך להחליף את הפרטים הידועים של מנהל ההתחברות הראשונה בדוא"ל משלך ובסיסמה חזקה, או - בגירסאות חדשות יותר ללא חשבון ברירת מחדל - האדם הראשון שפותח את דף הניהול יוצר את המנהל. כך או כך הכלל זהה: הגדר חשבון אדמין משלך ברגע שהמכולה מתחילה, לפני יצירת כל דבר אחר, והשתמש בתיבת דואר אמיתית - מיילים של NPM שמטפלים בבעיות אישורים.
צור את מארח ה-Proxy הראשון שלך
ב-NPM פתח את מארחים → מארחי פרוקסי → הוסף מארח פרוקסי ומלא את הטופס כמשפט אחד - "השם הזה הולך לשירות הפנימי הזה":
שמות דומיין: app.yourdomain.com - השם הציבורי המדויק משלב 2, שחייב כבר להסדיר לשרת שלך.
סכימה: http עבור רוב האפליקציות הביתיות והמשרדיות. Scheme מתארת את הקשר בין NPM לשירות הפנימי, ולא את מה שמבקרים משתמשים בהם - NPM מטפלת בהצפנה הציבורית בדלת. בחר כאן https רק כאשר האפליקציה הפנימית עצמה משרתת HTTPS.
העבר שם מארח / IP: הכתובת הפנימית של השירות, לדוגמה 192.168.1.50.
יציאה קדימה: היציאה בה השירות מאזין בפועל, לדוגמה 8080 - לא 80 או 443; אלה הדלתות של NPM, לא של השירות.
הפעל את חסום ניצול נפוצות ולאחר מכן שמור. בדוק מיד על ידי פתיחת השם בדפדפן - באופן אידיאלי מהטלפון שלך עם Wi-Fi כבוי, כך שאתה בודק את הנתיב הציבורי האמיתי.
localhost שגוי (בתוך הקונטיינר של NPM, localhost פירושו NPM עצמו) - השתמשו ב-LAN IP של השרת עם היציאה שפורסמה, או שימו את שני הקונטיינרים באותה רשת Docker והשתמשו בשם הקונטיינר.קבל את תעודת ה-HTTPS בחינם של Lets Encrypt
עשה זאת רק לאחר שהמארח הרגיל משלב 6 כבר עובד - HTTPS על מארח שבור נותן לך מארח שבור עם אישור, ופעמיים את המקומות לחפש את התקלה. פתח את אותו מארח פרוקסי, עבור לכרטיסייה SSL, הגדר את אישור SSL ל-בקש אישור SSL חדש, הפעל את כפוף SSL ותמיכה בHTTP/2, הסכים לתנאי השירות של Lets Encrypt ושמור. טען מחדש את האתר - הדפדפן אמור כעת להציג את המנעול ב-https.
איך זה עובד: מאפשר להצפין מוכיח שאתה שולט בשם על ידי בקשת השרת שלך, דרך האינטרנט הציבורי ביציאה 80, להציג אסימון חד פעמי (אתגר HTTP-01). זו הסיבה שה-DNS המצביע אליך ויציאה 80 נגישה אינם ניתנים למשא ומתן - נכשל באחת מהן והבקשה נכשלת, והשגיאה היא בהתקנה, לעולם לא ב-Lets Encrypt. כפוף SSL מפנה מחדש כל מבקר http אל https באופן אוטומטי; בלעדיה הדלת הלא מוצפנת נשארת פתוחה לצד הדלת המוצפנת.
🏷️משתני חיפוש נושאים ומילות מפתח
🎙️ תמלול מלא - הקש כדי להרחיב
__TOK_34__
__TOK_35__
__TOK_36__
❓ שאלות נפוצות
האם הדרכה זו היא 100% בחינם למעקב?
__TOK_37__
האם מתחילים יכולים לעקוב אחר המדריך הזה?
__TOK_38__
איפה אני יכול לשאול שאלות אם אני נתקע?
__TOK_39__