לרזלב בלי hosts
רמת קושי: #advanced
כל מפתח ואיש סיסטם מכיר את הקובץ /etc/hosts, זהו בעצם הקובץ בו המערכת מחפשת כתובת אינטרנט כלשהיא לפני שהיא פונה החוצה לחפש את הכתובת בשרתי DNS השונים
לצורך התרגיל נריץ לרגע שרת פייתון מקומי בפורט 4444 ונגדיר לו כתובת אינטרנט בקובץ /etc/hosts
הרצת שרת פייתון
כעת כל פניה בדפדפן לכתובת 127.0.0.1:4444 תפנה אל התוכן שיש במיקום ממנו הרצנו את השרת
הגדרת כתובת אינטרנט מקומית לשרת
במידה ונגדיר בקובץ /etc/hosts שכתובת האתר החמוד שהקמנו היא
ובשביל להוכיח שזה באמת עובד ניתן להריץ בקשת אינטרנט בעזרת curl
אין מילים, מדהים לחלוטין
עד לכאן ההקדמה וכעת לטיפ
לא מעט פעמים כל שנרצה הוא רק לוודא שהשירות שלנו מגיב לכתובת האינטרנט שהגדרנו בקוד למרות שאין לנו רשומת DNS קיימת, והצורך להוסיף את הכתובת לקובץ /etc/hosts סתם יוצר סרבול של התהליך
ישנה אופציה קלילה יותר לשייך כתובת אינטרנט לip בצורה זמנית והיא על ידי שימוש ב curl עם הדגל --resolve ולהעביר לו את הביטוי שמחולק בצורה הבאה לשם האתר:מספר הפורט:כתובת הIP
ולאחר מכן פניה לכתובת שהגדרנו כאילו זהו שם האתר, במקרה שלנו זה יראה כך
כעת הפניה של curl תחזיר לנו את המידע מהשירות שלנו על פי כתובת האינטרנט הזמנית שהגדרנו, למרות שהכתובת לא מופיעה בקובץ ה hosts
#curl
#hosts
#server
#resolve
@bash_tips
רמת קושי: #advanced
כל מפתח ואיש סיסטם מכיר את הקובץ /etc/hosts, זהו בעצם הקובץ בו המערכת מחפשת כתובת אינטרנט כלשהיא לפני שהיא פונה החוצה לחפש את הכתובת בשרתי DNS השונים
לצורך התרגיל נריץ לרגע שרת פייתון מקומי בפורט 4444 ונגדיר לו כתובת אינטרנט בקובץ /etc/hosts
הרצת שרת פייתון
$ python3 -m http.server 4444
כעת כל פניה בדפדפן לכתובת 127.0.0.1:4444 תפנה אל התוכן שיש במיקום ממנו הרצנו את השרת
הגדרת כתובת אינטרנט מקומית לשרת
במידה ונגדיר בקובץ /etc/hosts שכתובת האתר החמוד שהקמנו היא
my.website
והיא משוייכת לכתובת הפנימית של המחשב 127.0.0.1
, אז כל פניה בדפדפן לכתובת my.website
בפורט 4444 תפנה ישירות לאתר המקומי שלנו
$ site="127.0.0.1 my.website"
$ echo "$site" | sudo tee -a /etc/hosts
ובשביל להוכיח שזה באמת עובד ניתן להריץ בקשת אינטרנט בעזרת curl
$ curl my.website:4444
...
<li><a href=".git/">.git/</a></li>
<li><a href=".gitmodules">.gitmodules</a></li>
<li><a href="Dockerfile">Dockerfile</a></li>
...
אין מילים, מדהים לחלוטין
עד לכאן ההקדמה וכעת לטיפ
לא מעט פעמים כל שנרצה הוא רק לוודא שהשירות שלנו מגיב לכתובת האינטרנט שהגדרנו בקוד למרות שאין לנו רשומת DNS קיימת, והצורך להוסיף את הכתובת לקובץ /etc/hosts סתם יוצר סרבול של התהליך
ישנה אופציה קלילה יותר לשייך כתובת אינטרנט לip בצורה זמנית והיא על ידי שימוש ב curl עם הדגל --resolve ולהעביר לו את הביטוי שמחולק בצורה הבאה לשם האתר:מספר הפורט:כתובת הIP
website_name:port:
ipולאחר מכן פניה לכתובת שהגדרנו כאילו זהו שם האתר, במקרה שלנו זה יראה כך
$ curl --resolve \
my.website:4444:127.0.0.1 \
my.website:
4444כעת הפניה של curl תחזיר לנו את המידע מהשירות שלנו על פי כתובת האינטרנט הזמנית שהגדרנו, למרות שהכתובת לא מופיעה בקובץ ה hosts
#curl
#hosts
#server
#resolve
@bash_tips