שאלה שלי / etc / hosts / קובץ על לינוקס / OSX, איך אני עושה תת תחום כלליים?


אני צריך לבדוק תת תחומים ב- localhost שלי. איך אני יכול למעשה יש תוצאה זו של הוספת *.localhost.com ל ... שלי /etc/hosts/ להגיש?

אם זה בלתי אפשרי, כיצד אוכל לעקוף בעיה זו? אני צריך לבדוק תת תחומים כלליים על localalserver שלי. זה Devserver Django, יכול שרת DJ ג 'יאנגו להתמודד עם תת תחומים? האם חלק אחר של תוכנה / ניתוב לתת לי את התוצאה הסופית שאני רוצה?


153
2018-03-02 16:43




שייך על superuser? - Paul R
אני יודע שאנשים אומרים שזה בלתי אפשרי! אבל איך אני עושה את זה בכל מקרה! מה זה משהו מחוץ / etc / hosts / אני יכול להשתמש כדי לקבל את האפקט. אני בודק שרת פיתוח. - MikeN
on superuser: unix.stackexchange.com/questions/3352/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
כפי שרוב התשובות מתמקדות בשאלה הראשונה שלך (wildhards המשנה המקומית localhost), אני אענה על השאלה המשנית שלך כהערה: כן, שרת Django Dev הוא מסוגל לחלוטין לטפל subhains localhost, אתה רק צריך לשכנע את הדפדפן שלך ואת מערכת ההפעלה כדי לשלוח את התנועה דרכה (באמצעות אחד הפתרונות השונים להלן)! - hheimbuerger


תשובות:


כתבתי פרוקסי dns בפייתון. זה יהיה לקרוא תווים כלליים ב / etc / hosts. ראה כאן: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py


40
2018-05-02 09:30



זה מושלם! אני כבר מחפש פתרון פשוט כמו זה במשך זמן רב (עבודה על OSX Mavericks BTW) - Billy Moon
עכשיו, אם רק נוכל pip install זה :) - metakermit
התקנתי את זה, עשיתי הכל ורץ אותו, אבל זה לא לחסום אתרים. - DisplayName
לא יכול upvote זה מספיק. אני צריך את זה לנצח, מעד על פנינה זו של שאלה ותשובה, ואני קצת האקר פייתון, וזה מסודר מסודר. תודה על השיתוף! - Farley


להתקין dnsmasq (אני עושה את זה על כל שולחנות העבודה לינוקס שלי כמו מטמון DNS בכל מקרה). ב dnsmasq.conf הוסף את השורה:

address=/localhost.com/127.0.0.1

145
2018-03-03 02:37



מבריק! הערה עבור משתמשי מקינטוש, זה באמת זה פשוט: 1. sudo port install dnsmasq 2. ערוך /opt/local/etc/dnsmasq.conf 3. sudo port load dnsmasq - tomc
OSX עם לחלוט: כמו לעיל אבל לחלוט להתקין dnsmasq - Matt Humphrey
fyi brew> יציאה (re @MattHumphrey הצעה) - electblake
דוגמה זו אינה פועלת בשבילי, אולי משום שאני משתמש vagrantup.com עבור שירות מקומי. אל תדאג, כבר שיניתי את ה- IP לנכון 192.168.50.11 אבל DNS אינו פותר. כל הרעיונות, האם זה דוגמה נכונה עבור "127.0.0.1" IP של? - Brian
טיפ נהדר. לקבלת שולחן עבודה של Ubuntu 14.04 (אשר פועל dnsmasq כברירת מחדל), ליצור קובץ שנקרא /etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf והניח את הקו address=/localhost.com/127.0.0.1 בתוכה, ולאחר מכן הפעל מחדש. - user38397


לא ניתן לציין תווים כלליים בקובץ /etc/hosts קובץ. ציין את שמות המארחים הנדרשים במפורש או לחילופין להגדיר שרת שמות מקומי עם הכללים המתאימים.


53
2018-03-02 16:46





אתה צריך להגדיר שרת DNS יש כל הלקוח להשתמש בו לפתרון. השרת עצמו יכול להיות משהו כמו "אור" כמו dnsmasq או כבד כמו BIND.


14
2018-03-02 20:28



+1 עבור dnsmasq, שהוא באמת מתועד היטב וקל לשימוש - David Schmitt
dnsmasq אינו מסוגל לעשות זאת. - DisplayName
איזה חלק מהתנהגות המתואר ב --address= סעיף של דף dnsmasq.conf האיש אינו מכסה את מקרה השימוש לתאר לעיל? - Gerald Combs


זרימת עבודה פשוטה (אין צורך להתקין שום דבר)

אני אישית רוצה ליצור קובץ PAC עבור זה ולהפוך את הדפדפן שלי פשוט להשתמש בו.

שלב 1: ליצור קובץ למשל: *.proxy.pac* איפשהו (אני משתמש שלי $home תיקייה)

שלב 2: הדבק קוד זה (לדוגמה, עם יציאה 8000):

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*localhost")) {
    return "PROXY localhost:8000";
  }
  return "DIRECT";
}

שלב 3You הפוך את הדפדפן שלך להשתמש בקובץ PAC זה.

וידאו עבור PAC & 

שלב 4You כעת תוכל לבדוק את האפליקציה שלך על ידי גישה אל: http://mysubdomain.localhost/

שלב 5: תהנה :)


8
2018-03-02 16:47



אולי כדאי להזכיר כי זה ישפיע רק על הדפדפן שלך. תוכניות אחרות (כמו wget, לא תקבל מושפע זה). זה לא כשלעצמו בעיה, אבל אולי עדיף להזכיר את זה. - Willem Van Onsem


לא ניתן להשתמש בתו כללי /etc/hosts.

תסתכל כאן עבור הדרכה טובה על איך להשיג ב- OS X באמצעות BIND, שרת DNS מובנה אך לא פעיל, ו- Apache.


3
2018-04-16 09:11



אפאצ 'י אין שום קשר עם subdomains. - Anonymous


סידרתי פרויקט ישן שלי:

https://github.com/airtonix/avahi-aliases

דרישות you

  • לינוקס שבו avahi ו python-avahi ניתנים להתקנה
  • אתה בסדר עם. תחומים מקומיים (avahi אינו תומך בכל סוג אחר)

יתרונות על פני שימוש dnsmasq או proxy dns python:

  • משתמשים אחרים של avahi / bonjour ברשת המקומית יכולים לפתור את הכינויים שאתה יוצר ולהודיע ​​לרשת (בתנאי שאתה מאפשר גישה ליציאה 5353)

3
2018-03-06 22:02





זה פתרון מבוסס DNS עבד בצורה מושלמת במקרה שלי, ללא צורך להתקין שום דבר: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (Mac OSX 10.9)


3
2018-03-02 16:49



כזה פתרון מדהים עבור Mac OSX. - iDev247
קישור מת, אנא עדכן את הקישור שלך, הפתרון שלך, או באיזשהו אופן לבטל את התשובה הזו. לחיים. - Relic
בוצע (גיבוי נוסף) - Fedir RYKHTIK


תשובה קצרה:

שלך / etc / hosts / file לא יאפשר לך להשתמש בתווים כלליים או מספרי היציאה. יהיה עליך ליצור רשומה אחת עבור כל אחד מתחומי המשנה שלך


2
2018-03-02 20:20



מה יאפשר לך לציין מספרי יציאה? לא DNS AFAIK. - ptman