17Aug

האם שרתי אינטרנט רק להחזיק אתר אחד כל?

click fraud protection

כאשר אתה מתחיל ללמוד כיצד שמות מתחם, כתובות IP, שרתי אינטרנט ואתרי אינטרנט מתאימים ועובדים יחד, זה יכול להיות קצת מבלבל או מכריע בזמנים.איך כל זה מוכן לעבוד בצורה חלקה כל כך?הסופר אוסר של היום Q & פוסט יש את התשובות לשאלות הקורא סקרן.

שאלה של היום &מפגש תשובה מגיע אלינו באדיבות SuperUser - חלוקה של סטאק שערי, קהילה מונחה קיבוץ של Q & אתרי אינטרנט.

תמונה באדיבות רוזמרי ווגטלי( פליקר).

השאלה

SuperUser Reader user3407319 רוצה לדעת אם שרתי אינטרנט רק להחזיק אתר אחד כל:

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

האם שרתי האינטרנט מחזיקים אתר אחד בלבד, או שהם מחזיקים יותר?

תשובה

תורם SuperUser בוב יש את התשובה עבורנו:

בעיקרון, הדפדפן כולל את שם התחום בבקשת HTTP כך שרת האינטרנט יודע איזה תחום התבקש והוא יכול להגיב בהתאם.בקשות HTTP

כך מתרחשת בקשת HTTP הרגילה שלך:

instagram viewer

1. המשתמש מספק כתובת אתר, בטופס http: // host: port / path.

2. הדפדפן מחלץ את החלק המארח( דומיין) של כתובת האתר ומתרגם אותו לכתובת IP( אם יש צורך) בתהליך הידוע בשם רזולוציית שם.תרגום זה יכול להתרחש באמצעות DNS, אך הוא אינו חייב( לדוגמה, קובץ המארח המקומי במערכות הפעלה נפוצות עוקף DNS).

3. הדפדפן פותח חיבור TCP ליציאה שצוינה, או ברירות מחדל ליציאה 80 בכתובת IP זו.

4. הדפדפן שולח בקשת HTTP.עבור HTTP / 1.1, נראה כך:

כותרת המארח היא סטנדרטית ונדרשת ב- HTTP / 1.1.זה לא צוין ב HTTP / 1.0 spec, אבל כמה שרתים לתמוך בו בכל מקרה.

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

  • כתובת ה- IP המבוקשת, מהשקע TCP( כתובת ה- IP של הלקוח זמינה גם כן, אך לעתים רחוקות נעשה שימוש, ולפעמים לחסימה / סינון)
  • היציאה המבוקשת, מתוך שקע TCP
  • שם המארח המבוקש, כ-שצוין בכותרת המארח על ידי הדפדפן בבקשת ה- HTTP
  • הנתיב המבוקש
  • כל כותרות אחרות( קובצי cookie וכו ')

כפי שנראה שהבחנת, הגדרת ההתקנה המשותפת השכיחה ביותר בימים אלה מציבה מספר אתרי אינטרנט בכתובת IP יחידה: שילוב יציאות, משאיר רק את המארח כדי להבדיל בין אתרי אינטרנט.

זה ידוע כמארח וירטואלי מבוסס-שם באפאצ'י-לנד, בעוד ש- Nginx מכנה אותם בשם שרתים בבלוקים של שרתים, ו- IIS מעדיף שרת וירטואלי.

מה לגבי HTTPS?

HTTPS הוא קצת שונה.הכל זהה עד הקמת חיבור TCP, אבל אחרי זה מנהרה TLS מוצפן יש להקים.המטרה היא לא לדלוף כל מידע על הבקשה.

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

זה מציג בעיה.כיצד שרת האינטרנט יודע איזה אישור של מארח / אתר ישלח אם הוא צריך לעשות זאת לפני קבלת בקשת HTTP?

באופן מסורתי, זה נפתר על ידי בעל כתובת IP ייעודית( או יציאה) עבור כל אתר המחייב HTTPS.ברור, זה הפך להיות בעייתי כמו שאנחנו אוזל כתובות IPv4.

הזן SNI( מחוון שם שרת).הדפדפן עובר כעת את שם המארח במהלך משא ומתן TLS, כך שרת האינטרנט יש מידע זה מוקדם מספיק כדי לשלוח את האישור הנכון.בצד שרת האינטרנט, התצורה דומה מאוד לאופן שבו המארחים הווירטואליים של HTTP מוגדרים.

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

מה אם אתה מבקש אתר אינטרנט לפי כתובת IP בלבד?

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

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

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