ניהול פרוקסים ו- מארחים וירטואליים (VHosts) דרך קבצי התצורה של NGINX יכול להיות מעייף ככל שמספר המארחים הוירטואליים והשירותים האינטרנטיים גדל. איך ניתן לפשט את התהליך? ה מנהל פרוקסי NGINX (NPM).
קרא ולמד כיצד ליצור, לנהל ולאבטח מארחים וירטואליים עם ממשק האינטרנט של מנהל הפרוקסי NGINX.
דרישות קדם
השיעור הזה יהיה הדגמה מעשית. אם ברצונך להמשיך, וודא שיש לך את הפריטים הבאים:
- A Linux machine to host NGINX Proxy Manager and the proxied webserver- This tutorial uses Fedora 35.
- Docker כדי להפעיל את התקופפים – השיעור הזה משתמש ב-Docker v20.10.12. התקן את Docker בעזרת השיעור הזה אם אין לך כבר תוכנות אלטרנטיביות מותקנות.
- Docker Compose כדי להגדיר את מנהל הפרוקסי והדרישות שלו באופן אוטומטי. השיעור הזה משתמש בגרסה 1.29.2 של Docker Compose. התקן את Docker Compose כדי להמשיך עם שאר המאמר.
- שם הדומיין משמש כנקודת קצה לשרת וירטואלי. במדריך זה אנו משתמשים בשם דומיין פרטי, testweb.com. ודא ששם הדומיין מצביע למכונת ה-Linux Host. ניתן גם להשתמש בשם דומיין הרשום בצורה פומבית.
- עליך לספק תעודת SSL ומפתח לתעודה על מנת לאבטח נקודות קצה וירטואליות. צור תעודה וקובץ המפתח המתאים תחילה אם אין לך כבר.
הגדרת NGINX Proxy Manager
NGINX Proxy Manager הוא לא חבילה שאתה מתקין על מערכת ההפעלה שלך. במקום זאת, NPM הוא אפליקציה שאתה פותח ב-Docker – ולכן Docker ו-Docker Compose הם דרישות ייחודיות.
עקוב אחר השלבים להתחלת הגדרת NGINX Proxy Manager.
1. התחברו לשרת ה-Linux שלכם דרך SSH או דרך ממשק השולחן אם הוא קיים.
2. צרו ופתחו קובץ YAML בשם docker-compose.yml באמצעות עורך הטקסט המועדף עליכם, כאן נעשה שימוש ב-vi.
3. העתיקו והדביקו את הקוד הבא לעורך. הקוד מכיל הוראות להורדה והתקנה של תמונת ה-nginx-proxy-manager העדכנית ביותר. שמרו וסגרו את הקובץ כדי לחזור לשורת הפקודה.
4. הפעילו את docker-compose כדי להעלות את המכונה ברקע (-d) על פי ההוראות המצוינות.

5. בצעו את הפקודה הבאה כדי לוודא שהמכונה פועלת.
תראו תהליך רץ התואם למכונת מנהל הפרוקסי כמו בתמונה למטה אם הכל בסדר.

גישה לפאנל הניהול
מנהל ה-NGINX Proxy צריך כעת להיות פועל. כעת תוכלו לגשת לפאנל הניהול של NPM כדי לבצע את הגדרת משתמש הניהול הראשונית.
1. פתח את חלון הדפדפן שלך ונווט אל http://<host_ip>:admin-ui-port>. לנוחות, המדריך הזה משתמש ב- localhost המשתמש במקום כתובת IP, כלומר, http://localhost:81, כדי להפעיל את לוח הבקרה המנהל.
2. התחבר עם פרטי הכניסה המשתנים הראשוניים של כתובת האימייל [email protected] והסיסמה changeme.

3. שנה את פרטי המשתמש המשתמש בברירת המחדל כפי שתרצה. המדריך הזה שומר על שם המלא והכינוי ומשנה רק את האימייל ל- [email protected]. לחץ על שמירה כדי לשמור את פרטי המשתמש.

4. הקלד סיסמה חדשה עבור המשתמש בשדה "שינוי סיסמה" כפי שמוצג למטה. הקלד סיסמה באורך של שמונה או יותר תווים ולחץ על שמירה.

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

הפצת השרת האינטרנטי
עכשיו שביצעת את הגדרת התחלתית, השלב הבא הוא להתחיל שרת אינטרנטי עבור המארח הווירטואלי שלך. עקוב אחר השלבים בסעיף זה כדי להתחיל במהירות שרת אינטרנטי Apache באמצעות Docker Compose.
פתח את קובץ ה- docker-compose.yml שיצרת קודם בעורך הטקסט שלך. הוסף את קטע הקוד הבא לקובץ docker-compose.yml
היתרון של שימוש באותו קובץ הוא שאתה יכול לשנות את הרשת הקיימת של המכשיר על ידי הוספת תקייה מבוססת httpd המורשית בשם app2 במקום ברשת נפרדת.
תוכן הקובץ צריך להיראות כמו בתמונה למטה. שמור את הקובץ וצא מהעורך.

הפעל את docker-compose
כדי להעלות את המיכל ברקע (-d
).
אתה אמור לקבל משוב דומה לתמונה למטה, שמאשר את יצירת המיכל השני.

יצירת מארח וירטואלי חדש
עכשיו יש לך שירות אינטרנט פעיל. המקטע הזה מטרתו לאפשר גישה לשרת האינטרנט דרך יציאות ה-NGINX Proxy Manager.
1. התחבר ללוח הניהול של NGINX Proxy Manager.
2. לחץ על Hosts —> Proxy Hosts.

3. לחץ על Add Proxy Host כדי להתחיל ביצירת מארח וירטואלי עבור השרת.

4. מלא את טופס New Proxy Host עם הפרטים הבאים כדי להגדיר את המארח הווירטואלי.
- שמות הדומיינים: שמות הדומיינים בהם יהיה נגיש השרת שלך. בדוגמה זו יש שימוש בדומיין testweb.com.
- סכימה: הפרוטוקול לשימוש בעת גישה לשרת. השאר את הערך הברירת מחדל כ-
http
לעכשיו.
- שם מארח / כתובת IP לקדימה: שם המארח או כתובת ה-IP של שרת האינטרנט. מכיוון שהמדריך הזה משתמש ב-Docker Compose להגדיר את המיכלים, יש מספיק להשתמש ב־
app2
. הזינו כל שם שסיפקתם ב־docker-compose.yml.
- פתח יציאה: היציאה שבה שרת האינטרנט מאזין לבקשות. במקרה זה, יש להשתמש ביציאה
80
, שהיא היציאה המוצגת כברירת מחדל עבור מיכלי Apache httpd.
- חסימת הוטחות נפוצות: כתוספת, פרוקסים הנקבעים באמצעות NPM יכולים לחסום הוטחות נפוצות. הפעילו אפשרות זו.
- רשימת גישה: רשימות מוגדרות מראש לשליטה בגישה לשרת האינטרנט מאחורי פרוקסי. למדריך זה, השאירו את הבחירה כפומבית כדי לוודא שיש לכם גישה לשרת האינטרנט דרך הפרוקסי.
הטופס במסך שלכם צריך להתאים לצילום המסך למטה. לאחר השלמת הטופס, לחצו על שמירה.

כעת יש לכם מארח פרוקסי אחד ברשימה.

5. לבסוף, נווטו אל כתובת ה-URL של המארח הווירטואלי בטאב או חלון דפדפן חדש. למען הדוגמה, כתובת ה-URL היא http://testweb.com. אם המארח הווירטואלי פועל כראוי, תראו את דף הבית המוגדר כברירת מחדל.

ספק תעודות SSL
השרת האינטרנט הוצא לפועל ואישרתם שהוא פועל. בנקודה זו, אף על פי שהאתר אינו מסתמך על כרטיס SSL עדיין. בעוד שאתרים פרטיים פנימיים עשויים לעבוד גם בלעדיו, זה אינו יתקבל כאשר מדורגים אתרים ציבוריים.
כדי לוודא שחיבורי האתר שלך מוצפנים, תתקין אישור SSL לשרת הוירטואלי שלך הבא. אל דאגה; תעשה זאת ממנהל ה-NGINX Proxy Manager. אבל כבר עליך לקיים תעודת SSL בפורמט PEM קיימת ומפתח תעודה כקריטריון.
1. לחץ על לשונית "תעודות SSL" בלוח הניהול של NGINX Proxy Manager.

2. בפינה הימנית העליונה, לחץ על "הוסף תעודות SSL" —> "מותאם אישית".

כאלטרנטיבה לתעודה מותאמת אישית, ניתן לבקש תעודת Let’s Encrypt ישירות וברצף על ידי בחירת "Let’s Encrypt". אך, כדי לעשות זאת יש צורך שהאתר ורשומות ה-DNS שלך יהיו ציבוריים. אחרת, תהליך רכישת התעודה ייכשל.
3. מלא את טופס הוספת תעודה מותאמת אישית כדלקמן
- שם: שם אנושי ידידותי למשתמש עבור התעודה בלוח הניהול. במדריך זה ישמש השם "Testweb Cert".

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

כפל-לחץ על קובץ המפתח. במדריך זה, המפתח של התעודה נקרא "mytesthttpd.key".

- תעודה: הקובץ עצמו של התעודה, בפורמט .crt או .pem.
לחץ על "עיין" ונווט אל התעודה שלך במעקב הקבצים שלך.

כפל-לחץ על קובץ התעודה כדי לפתוח אותו. במדריך זה, הקובץ של המפתח נקרא "mytesthttpd.pem".

4. לאחר שמילאת את כל שלושת השדות, הטופס שלך צריך להיראות כמו התמונה למטה. לחץ על שמור כדי לשלוח את התעודה המותאמת.
המדריך הזה לא משתמש בתעודה אמצעית. התעלם מהשדה הזה כעת.

5. עכשיו, לחץ על מארחים —> מארחי פרוקסי.

6. לחץ על סמל תפריט הקבב ולחץ על עריכה. שים לב שבעמוד זה בעמוד SSL כרגע כתוב רק HTTP בעמודה.

7. בחר את לשונית ה-SSL בחלון עריכת מארח פרוקסי כפי שמוצג למטה. בחר את התעודה שהפקת בתפריט הנפתח מתחת לתעודת SSL. למדריך זה, זו התעודה בשם Testweb Cert כפי שנראה בתמונה למטה.

8. בחר את התעודה שהוספת מראש מתוך תפריט הנפתח מתחת לתעודת SSL. כפי שתראה למטה, שם התעודה לבחירה הוא Testweb Cert.

9. הפעל את כל האפשרויות המוגברות של SSL הזמינות, כפי שמוצג בתמונה למטה, ולחץ על שמור.
אפשרות Force SSL תכפה או תשדרג את כל החיבורים ל-HTTPS גם כאשר הלקוח בתחילה ניסה לגשת ל-URL של HTTP בלבד.

A word of warning with HSTS. As browsers will include the site on an internal inclusion list, your site will no longer work under non-SSL conditions. Therefore, make sure that you have everything set up the correct way first.
תראה שערך העמודה של SSL השתנה מ-HTTP בלבד למותאם אישית.

10. לבסוף, פתח לשונית דפדפן ונווט שוב לדומיין המארח הווירטואלי שלך. למדריך זה, זהו http://testweb.com. החיבור צריך לשדרג אוטומטית ל-HTTPS.

ברכותינו! השלמת את ההטמעה או את המארח הווירטואלי המאובטח באמצעות NGINX Proxy Manager.
הוספת משתמשים לניהול פרוקסי NGINX
אם אתה עובד עם צוות או מצפה ממישהו אחר לנהל את המארחים הווירטואליים ב־NPM, עליך לספק גישה למשתמש. במקטע זה, תרחיב על ניהול ה־NPM, במיוחד בסביבת צוות, על ידי יצירת משתמש והקצאת תפקידים והרשאות.
1. לחץ על משתמשים בדף הבית של לוח הבקרה המנהל.

2. לחץ על הוסף משתמש בפינה הימנית העליונה של כרטיס משתמשים.

3. הקלד את השם המלא של המשתמש (משתמש בדיקה), שם כנוי (testuser) וכתובת הדוא"ל ([email protected]) בשדות המתאימים ולחץ על שמירה.
המשתמש שאתה יוצר לא יהיה מנהל מלא, אז אל תפעיל את תפקיד המנהל. במקום זאת, יש לך בתכנית להקצות הרשאות מותאמות אישית. לחץ על שמירה כדי להוסיף את המשתמש החדש.

4. הגדר את ההרשאות שברצונך להעניק למשתמש. במדריך זה, למשתמש החדש יהיו הגדרות הרשאות אלו.
- יכול להציג רק פריטים שנוצרו על ידי המשתמש.
- יכול ליצור, לערוך ולמחוק מארחי פרוקסי.
- יכול ליצור, לערוך ולמחוק מארחי הפניה.
- אינו יכול לראות מארחי 404.
- אינו יכול לראות זרמים.
- יכול להציג רשימות גישה.
- יכול ליצור, לערוך ולמחוק תעודות SSL.
הסט הרשאות צריך להיראות דומה לתמונה למטה. לחץ על שמירה כדי לסיים את הוספת המשתמש החדש.

5. כעת, לחץ על תפריט הקבב של המשתמש החדש ולחץ על היכנס כמשתמש. שלב זה יחליף את ההקשר הנוכחי של המשתמש למשתמש בדיקה.

6. חקור את לוח הבקרה מנקודת מבטה של משתמש חדש. על פי ההרשאות של משתמש זה, אתה צפה לראות פחות לשוניות ומשאבים.

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