सवाल लिनक्स / ओएसएक्स पर मेरे / etc / hosts / फ़ाइल में, मैं वाइल्डकार्ड सबडोमेन कैसे करूं?


मुझे अपने लोकहोस्ट पर उप-डोमेन का परीक्षण करने की आवश्यकता है। मैं जोड़ने के इस परिणाम को प्रभावी ढंग से कैसे प्राप्त कर सकता हूं *.localhost.com मेरे लिए /etc/hosts/ फाइल?

यदि यह संभव नहीं है, तो मैं इस समस्या के आसपास कैसे काम करूं? मुझे अपने लोकलसेवर पर वाइल्डकार्ड सब-डोमेन का परीक्षण करने की आवश्यकता है। यह एक Django devserver है, क्या Django dev सर्वर उप डोमेन को संभाल सकता है? क्या सॉफ्टवेयर / रूटिंग के कुछ अन्य टुकड़े मुझे अंतिम परिणाम दे सकते हैं?


151
2018-03-02 16:43


मूल


सुपरसियर पर निर्भर करता है? - Paul R
मुझे पता है कि लोग कहते हैं कि यह संभव नहीं है! लेकिन मैं वैसे भी कैसे करूँ! प्रभाव प्राप्त करने के लिए / etc / hosts / I के बाहर कुछ क्या उपयोग कर सकता है। मैं एक विकास सर्वर का परीक्षण कर रहा हूँ। - MikeN
सुपरसियर पर: unix.stackexchange.com/questions/3352/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
चूंकि अधिकांश उत्तर आपके पहले प्रश्न (लोकलहोस्ट सबडोमेन वाइल्डकार्ड) पर ध्यान केंद्रित कर रहे हैं, मैं आपके माध्यमिक प्रश्न को एक टिप्पणी के रूप में उत्तर दूंगा: हां, Django dev सर्वर स्थानीयहोस्ट सबडोमेन को संभालने में पूरी तरह सक्षम है, आपको बस अपने ब्राउज़र और अपने ओएस को मनाने की ज़रूरत है यातायात को अपना रास्ता भेजने के लिए (नीचे दिए गए विभिन्न समाधानों में से एक का उपयोग करके)! - hheimbuerger


जवाब:


मैंने पायथन में एक डीएनएस प्रॉक्सी लिखा है। यह / etc / hosts में वाइल्डकार्ड प्रविष्टियों को पढ़ेगा। यहाँ देखें: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py


40
2018-05-02 09:30



यह पूर्ण है! मैं इस तरह के एक साधारण समाधान की तलाश कर रहा हूं (ओएसएक्स मैवरिक्स बीटीडब्ल्यू पर काम करना) - Billy Moon
अब, अगर हम केवल तभी कर सकते हैं pip install यह :) - metakermit
मैंने इसे स्थापित किया, सब कुछ किया और इसे चलाया, लेकिन यह साइटों को अवरुद्ध नहीं करता है। - DisplayName
इसे पर्याप्त रूप से ऊपर नहीं उठाया जा सकता है। मुझे यह हमेशा के लिए जरूरी है, एक प्रश्न और उत्तर के इस मणि पर ठोकर खाई, और मैं एक पायथन हैकर का थोड़ा सा हूं, और यह एक साफ टिड्बिट है। साझा करने के लिए धन्यवाद! - Farley


इंस्टॉल करें dnsmasq (मैं इसे अपने सभी लिनक्स डेस्कटॉप पर किसी भी तरह से एक DNS कैश के रूप में करता हूं)। में dnsmasq.conf लाइन जोड़ें:

address=/localhost.com/127.0.0.1

144
2018-03-03 02:37



प्रतिभाशाली! मैक उपयोगकर्ताओं के लिए नोट, यह वास्तव में यह आसान है: 1। sudo port install dnsmasq 2. संपादित करें /opt/local/etc/dnsmasq.conf 3। sudo port load dnsmasq - tomc
ब्रू के साथ ओएसएक्स: ऊपर जैसा ही है लेकिन ब्रांस्ड dnsmasq इंस्टॉल करें - Matt Humphrey
fyi brew> बंदरगाह (पुनः @MattHumphrey सुझाव) - electblake
यह उदाहरण मेरे लिए काम नहीं करता है, संभवतः क्योंकि मैं उपयोग कर रहा हूं vagrantup.com स्थानीय सेवा के लिए। चिंता न करें, मैंने पहले ही आईपी को सही में बदल दिया है 192.168.50.11 लेकिन DNS हल नहीं कर रहा है। कोई विचार, क्या यह उदाहरण "गैर-127.0.0.1" आईपी के लिए सही है? - Brian
महान टिप। उबंटू 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



Dnsmasq के लिए +1, जो वास्तव में अच्छी तरह से प्रलेखित और उपयोग करने में आसान है - David Schmitt
dnsmasq ऐसा करने में सक्षम नहीं है। - DisplayName
व्यवहार में वर्णित व्यवहार का क्या हिस्सा है --address= dnsmasq.conf मैन पेज के अनुभाग में ऊपर वर्णित उपयोग केस शामिल नहीं है? - Gerald Combs


सरल वर्कफ़्लो (कुछ भी इंस्टॉल करने की आवश्यकता नहीं है)

मैं व्यक्तिगत रूप से इसके लिए एक पीएसी फ़ाइल बनाना पसंद करता हूं और अपना ब्राउज़र बस इसका उपयोग करता हूं।

चरण 1: एक फ़ाइल बनाओ उदा .: *.proxy.pac* कहीं (मैं अपना उपयोग करता हूं $home फ़ोल्डर)

चरण 2: इस कोड को पेस्ट करें (उदाहरण पोर्ट 8000 के साथ है):

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

चरण 3: अपने ब्राउज़र को इस पीएसी फ़ाइल का उपयोग करें।

पीएसी और फ़ायरफ़ॉक्स के लिए यूट्यूब वीडियो 

चरण 4: अब आप अपने ऐप का उपयोग करके परीक्षण कर सकते हैं: http://mysubdomain.localhost/

चरण 5: का आनंद लें :)


8
2018-03-02 16:47



शायद यह उल्लेखनीय है कि यह केवल आपके ब्राउज़र को प्रभावित करेगा। अन्य कार्यक्रम (जैसे wget, इससे प्रभावित नहीं होंगे)। यह एक समस्या नहीं है, लेकिन शायद इसका उल्लेख करना बेहतर है। - Willem Van Onsem


आप वाइल्डकार्ड का उपयोग नहीं कर सकते हैं /etc/hosts

एक नज़र देख लो यहाँ BIND का उपयोग करते हुए ओएस एक्स पर कैसे पूरा किया जाए, अंतर्निहित लेकिन निष्क्रिय DNS सर्वर, और अपाचे पर एक अच्छी पैदल यात्रा के लिए।


3
2018-04-16 09:11



अपाचे के पास उपडोमेन के साथ कुछ लेना देना नहीं है। - Anonymous


मैंने अपनी पुरानी परियोजना को पूरा किया है:

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

आवश्यकताएँ:

  • लिनक्स जहां avahi और पायथन-avahi स्थापित करने योग्य हैं
  • आप ठीक हैं। लोकल डोमेन (avahi किसी अन्य प्रकार का समर्थन नहीं करता है)

Dnsmasq या पायथन डीएनएस प्रॉक्सी का उपयोग करने पर लाभ:

  • आपके स्थानीय नेटवर्क पर अन्य avahi / bonjour उपयोगकर्ता आपके द्वारा बनाए गए एलियंस को हल कर सकते हैं और नेटवर्क पर घोषणा कर सकते हैं (प्रदान करते हुए आप पोर्ट 5353 तक पहुंच की इजाजत दे रहे हैं)

3
2018-03-06 22:02





यह DNS आधारित समाधान मेरे मामले में पूरी तरह से काम करता है, बिना कुछ इंस्टॉल करने की आवश्यकता के: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (मैक ओएसएक्स 10.9)


3
2018-03-02 16:49



मैक ओएसएक्स के लिए यह एक अद्भुत समाधान है। - iDev247
डेड लिंक, कृपया अपना लिंक अपडेट करें, अपना समाधान, या किसी भी तरह से इस जवाब को हटा दें। चीयर्स। - Relic
हो गया (बैकअप जोड़ा गया) - Fedir RYKHTIK


संक्षिप्त जवाब:

आपका / etc / hosts / फ़ाइल आपको वाइल्डकार्ड या पोर्ट नंबरों का उपयोग करने नहीं देगा। आपको अपने प्रत्येक सबडोमेन के लिए एक प्रविष्टि बनाना होगा


2
2018-03-02 20:20



आपको पोर्ट नंबर निर्दिष्ट करने देंगे? डीएनएस AFAIK नहीं है। - ptman


संक्षिप्त जवाब आप नहीं करते हैं। लंबा जवाब यह है कि आपको वास्तव में जो हासिल करना है, उस पर स्पष्ट होना चाहिए, क्योंकि शायद एक बेहतर तरीका है, और इसे प्राप्त करने का एक अलग तरीका है।

वेब-होस्टिंग (मैंने इसे अन्यथा कभी नहीं देखा है) के लिए वर्चुअल होस्टिंग जागरूक वेब सर्वर के साथ संयोजन में DNS में किया जाता है। अधिक जानकारी के लिए वाइल्डकार्ड DNS रिकॉर्ड (विकिपीडिया), और एक लेख अपाचे और बाइंड के साथ वाइल्डकार्ड होस्टिंग लिंड और अपाचे का उपयोग कर लिनक्स के लिए।

सबसे खराब, आप मुझे लगता है कि एक स्थानीय DNS सर्वर का उपयोग कर सकते हैं।


2
2018-02-13 13:35