Windows होस्ट्स फ़ाइल में वाइल्डकार्ड


289

मैं अपनी स्थानीय विकास मशीन को सेटअप करना चाहता हूं ताकि किसी भी अनुरोध *.localको पुनर्निर्देशित किया जा सके localhost। विचार यह है कि जैसे ही मैं कई साइटें विकसित करता हूं, मैं बस अपाचे नामक वाउचर को जोड़ सकता हूं site1.local, site2.localआदि, और उन सभी को हल करना है localhost, जबकि अपाचे अपने अनुसार एक अलग साइट पर कार्य करता है।

मैं विंडोज एक्सपी पर हूं।

मैंने जोड़ने की कोशिश की

127.0.0.1       *.local

मेरी c:\windows\system32\drivers\etc\hostsफ़ाइल के लिए भी कोशिश की:

127.0.0.1       .local

जिसमें से कोई भी काम नहीं करता है।

मुझे पता है कि मैं उन्हें अलग-अलग पोर्ट नंबर पर सेट कर सकता हूं, लेकिन यह एक दर्द है क्योंकि यह याद रखना मुश्किल है कि कौन सा पोर्ट है।

मैं एक स्थानीय DNS सर्वर या कुछ भी कठिन, किसी भी सुझाव के लिए सेटअप नहीं करना चाहता हूं?


1
कृपया बेझिझक anysubdomain.reconn.co.uk को एक काम के रूप में उपयोग करें (यदि आप ऑनलाइन हैं), जो हमेशा आपके लोकलहोस्ट को इंगित करेगा (नीचे मेरा उत्तर देखें)।
पॉल ग्रिम्सव

अपाचे vhosts ServerName को पार्स करने वाली स्क्रिप्ट के बारे में क्या है और मेजबानों की फाइल को अपडेट करता है?
एल्विस सियोटी

1
मेरा मानना ​​है * .लोक में विशेष शब्दार्थ है, और आपको कुछ गैर-मौजूद होना चाहिए। मैं उपयोग करता हूं। *। क्योंकि मुझे नहीं लगता कि यह वास्तविक है।
व्रतकेनी

जवाबों:


431

ऐक्रेलिक डीएनएस प्रॉक्सी (फ्री, ओपन सोर्स) काम करता है। यह अपने स्वयं के होस्ट फ़ाइल के साथ एक प्रॉक्सी DNS सर्वर (अपने कंप्यूटर पर) बनाता है। होस्ट फ़ाइल वाइल्डकार्ड स्वीकार करता है।

ऑफिशियल वेबसाइट से डाउनलोड करें

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=Home

ऐक्रेलिक डीएनएस प्रॉक्सी को कॉन्फ़िगर करना

ऐक्रेलिक DNS प्रॉक्सी को कॉन्फ़िगर करने के लिए, इसे उपरोक्त लिंक से इंस्टॉल करें:

  1. शुरू
  2. कार्यक्रम
  3. ऐक्रेलिक डीएनएस प्रॉक्सी
  4. कॉन्फ़िग
  5. कस्टम होस्ट फ़ाइल संपादित करें (एक्रिलिकहॉट्स.टैक्स)

फ़ाइल के अंत में फ़ोलोइंग लाइनें जोड़ें:

127.0.0.1   *.localhost
127.0.0.1   *.local
127.0.0.1   *.lc

ऐक्रेलिक DNS प्रॉक्सी सेवा को पुनरारंभ करें:

  1. शुरू
  2. कार्यक्रम
  3. एक्रेलिक डीएनएस प्रॉक्सी
  4. कॉन्फ़िग
  5. ऐक्रेलिक सेवा को पुनरारंभ करें

आपको नेटवर्क इंटरफ़ेस सेटिंग्स में अपनी DNS सेटिंग समायोजित करने की भी आवश्यकता होगी:

  1. शुरू
  2. कंट्रोल पैनल
  3. नेटवर्क और इंटरनेट
  4. नेटवर्क कनेक्शन
  5. स्थानीय क्षेत्र कनेक्शन गुण
  6. टीसीपी / आईपीवी 4

"निम्नलिखित DNS सर्वर पते का उपयोग करें" सेट करें:

Preferred DNS Server: 127.0.0.1

यदि आप इस उत्तर को जेरेमीसैन्डर के उत्तर के साथ जोड़ते हैं (उपयोग करते हैं VirtualDocumentRoot) तो आप बस एक निर्देशिका बनाकर डोमेन / वर्चुअल होस्ट को स्वचालित रूप से सेटअप कर सकते हैं।


12
बस स्पष्ट होने के लिए, "कस्टम होस्ट फ़ाइल" ऐक्रेलिकहॉस्ट.टैक्स है, ऐक्रेलिकऑनफिगरेशन.ini नहीं। शायद यह स्पष्ट होना चाहिए, लेकिन इसने मुझे थोड़ी देर के लिए भ्रमित कर दिया।
mhenry1384

@Petah - यह सटीक कॉन्फ़िगरेशन मेरे लिए वाइल्डकार्ड डोमेन के साथ काम कर रहा था, लेकिन यह बस रुक गया और मैं इसका पता नहीं लगा सका। सभी अनुरोध वापस "यह पृष्ठ अनुपलब्ध है"। पुनः आरंभ किया गया एक्रिलिक, सभी कैश को रीसेट करें ... आपको क्या लगता है कि यह क्या हो सकता है?
SB2055

1
@ SB2055 अपने नेटवर्क गुणों में अपनी DNS सेटिंग्स की जाँच करें फिर भी सही है।
पेटा

यह ध्यान दिया जाना चाहिए कि ऐक्रेलिक उन परिस्थितियों के लिए अच्छी तरह से अनुकूल नहीं है जहां आपके नेटवर्क का वातावरण अक्सर बदलता रहता है। Google का सार्वजनिक DNS सर्वर आपके नेटवर्क के भीतर वास्तविक मशीन नामों का समाधान नहीं करेगा ... और आप उसे एक नेटवर्क के लिए ठीक कर सकते हैं, लेकिन जब आप दूसरे नेटवर्क पर जाते हैं, तब भी आप आंतरिक मशीन नामों को हल करने में सक्षम नहीं होंगे। यह विशेष रूप से दर्दनाक हो सकता है। लेकिन मुझे यह भी बताना चाहिए कि मुझे ऐक्रेलिक के बारे में जानने के लिए सब कुछ नहीं है।
एलेक्स डेर्सको

यदि यह एक वीएम के भीतर किया जाता है, तो PrimaryServerAddressकॉन्फ़िगरेशन में (मेजबान फ़ाइल नहीं) डिफ़ॉल्ट 8.8.8.8से होस्ट प्रदान किए जाने वाले एक में बदलना चाहिए । VirtualBox में, यह है 10.0.2.3
मय्यम

80

अपने प्रश्न का उत्तर देने के लिए, आप विंडोज के तहत होस्ट्स फ़ाइल में वाइल्डकार्ड का उपयोग नहीं कर सकते।

हालाँकि, यदि आप नई साइटों को काम करने के लिए केवल मेजबानों की फ़ाइल को बदलना चाहते हैं .... आप अपनी अपाचे को इस तरह कॉन्फ़िगर कर सकते हैं और आपको संपादन इसे कॉन्फ़िगर रखने की आवश्यकता नहीं है:

http://postpostmodern.com/instructional/a-smarter-mamp/

मूल रूप से मेरे सेटअप के आधार पर एक त्वरित सारांश, अपनी apache.conf फ़ाइल में निम्न जोड़ें:

 LoadModule vhost_alias_module modules/mod_vhost_alias.so

 NameVirtualHost *:80

  <Directory "/xampp/sites">
      Options Indexes FollowSymLinks Includes ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all 
  </Directory>

  <VirtualHost *:80>
      VirtualDocumentRoot c:/xampp/sites/%-1/%-2+/
  </VirtualHost>

यह मुझे एक प्रविष्टि जोड़ने की अनुमति देता है जैसे:

127.0.0.1       test.dev

और फिर निर्देशिका, c: \ xampp \ sites \ dev \ परीक्षण करें और आवश्यक फ़ाइलों को वहां रखें और यह काम करता है।

दूसरा विकल्प <Directory>Apache.conf में टैग्स का उपयोग करना और http: // localhost / project / से पेजों का संदर्भ देना है ।


आप OSX पर वाइल्डकार्ड का उपयोग कर सकते हैं?
cjm2671

हाँ बिंद का उपयोग - clintberry.com/2011//-
रयान शूमाकर

30

मुझे नहीं लगता कि यह संभव है।

वैसे भी आपको हर बार नई साइट और लोकेशन जोड़ने के लिए अपाचे वर्चुअरो एंट्री को संशोधित करना पड़ता है, इसलिए नए नाम को विंडोज vhost फाइल में सिंक करना कोई बड़ा काम नहीं है।

अद्यतन: कृपया इस उत्तर पर अगले उत्तर और टिप्पणियों की जाँच करें। यह उत्तर 6 साल पुराना है और अब सही नहीं है।


3
लेकिन Nginx का उपयोग करते समय दूसरे स्तर के डोमेन .localhost के नए समूह को जोड़ने के लिए Nginx की कॉन्फ़िगर फ़ाइल को बदलना आवश्यक नहीं है। तो, यह मेजबानों फ़ाइल का माइनस है।
शाम

8
केवल यह बताने के लिए कि जब आपके पास एक बहुभाषी वेबसाइट है, तो आपके पास <VirtualHost> ServerAlias *.mydomain.localhost( *भाषा कोड होने के साथ ) हो सकता है, ताकि आप हर बार नई भाषा जोड़ने के लिए httpd.conf को संपादित करें; लेकिन आपको अभी भी मेजबान फ़ाइल में उपडोमेन जोड़ने की आवश्यकता है, इसलिए ऊपर दिए गए प्रश्न की प्रासंगिकता।
बेंजामिन

10
डायनेमिक वर्चुअल होस्ट यहां कीवर्ड हैं और अधिकांश सर्वरों यानी अपाचे और नग्नेक्स द्वारा समर्थित हैं। तो नहीं, आपको निश्चित रूप से हर बार जब आप प्रोजेक्ट बनाते हैं तो आपको अपाचे-कॉन्फिगर को छूना नहीं पड़ता है।
वैलेंटाइन क्लिंगहैमर

2
हमारे पास वाइल्डकार्ड वर्चुअल होस्ट भी हो सकते हैं, यह केवल hostsफ़ाइल के लिए नीचे है
6

6

यहां पहले से मौजूद शानदार सुझावों को जोड़ने के लिए, XIP.IO एक शानदार वाइल्डकार्ड डीएनएस सर्वर है जो सार्वजनिक रूप से उपलब्ध है।

      myproject.127.0.0.1.xip.io  -- resolves to -->   127.0.0.1
  other.project.127.0.0.1.xip.io  -- resolves to -->   127.0.0.1
   other.machine.10.0.0.1.xip.io  -- resolves to -->   10.0.0.1

(गैर-लूपबैक पतों को निर्दिष्ट करने की क्षमता iOS उपकरणों पर उन साइटों के परीक्षण के लिए शानदार है जहां आप एक होस्ट फ़ाइल तक नहीं पहुंच सकते हैं।)

यदि आप इसे अन्य उत्तरों में वर्णित कुछ अपाचे कॉन्फ़िगरेशन के साथ जोड़ते हैं, तो आप संभावित रूप से शून्य सेटअप के साथ VirtualHosts जोड़ सकते हैं ।


और यह आपके LAN में IP के मामले में आपकी टीम के सदस्यों के लिए काम करता है। उन्हें समान DNS फ़ाइल के साथ एक स्थानीय DNS सर्वर स्थापित करने की आवश्यकता नहीं है।
टोबियास उहमान

4

मुझे विंडोज होस्ट्स फाइल के उपयोग के बारे में एक पोस्टिंग मिली जिसमें लिखा है कि "किसी भी वाइल्डकार्ड की अनुमति नहीं है।"

अतीत में, मैंने अभी होस्ट्स फ़ाइल में अतिरिक्त प्रविष्टियाँ जोड़ी हैं, क्योंकि (जैसा कि पहले कहा गया था), यह उतना अतिरिक्त काम नहीं है जब आप पहले से ही अपाचे कॉन्फिगर फ़ाइल को संपादित कर रहे हैं।


अब आप मेजबानों को फ़ाइल करते हैं, अनुरोधों को हल करने में अधिक समय लगेगा। अगर आपको बहुत सी प्रविष्टियाँ मिली हैं तो अच्छा समाधान नहीं।
cchamberlain

4

जब आप अपने कंप्यूटर को पुनरारंभ करने के बजाय विंडोज़ कमांड प्रॉम्प्ट से "ipconfig / flushdns" चलाते हैं, तो होस्ट फ़ाइल को संपादित करना एक दर्द कम होता है।


1
यह फ्लश ब्राउज़र कैश को डीएनएस नहीं करता है, लेकिन विंडो का है। इसलिए उसे डीएनएस कैशिंग जारी करने के लिए ब्राउज़र के लिए 20-30 मिनट इंतजार करना होगा।
जैकब मेलवाद जेन्सन

3

आप अपने नेटवर्क व्यवस्थापक से आपके लिए एक डोमेन स्थापित करने के लिए बात कर सकते हैं (जैसे '' badpuppetmaster.hell ') और वहां वाइल्डकार्ड होने से सब कुछ (* .evilpuppetmaster.hell') आपके आईपी में बदल जाता है।


1
धन्यवाद, लेकिन यह एक होम डेस्वर पर है, कोई DNS या नेटवर्क व्यवस्थापक उपलब्ध नहीं है।
EvilPuppetMaster

ठीक है, हो सकता है कि आपके पास किसी डोमेन का उपयोग हो या कोई ऐसा व्यक्ति हो जो यह जानता हो? उदाहरण के लिए: * .evilpuppetmatser.arealdomain.com
स्टू थॉम्पसन

ज़रुरी नहीं। फिर भी, यह एक घरेलू मशीन है इसलिए इसे हर बार एक नया आईपी मिलता है जो मेरा राउटर इंटरनेट से जुड़ता है। एक बाहरी DNS सर्वर मदद नहीं करेगा।
EvilPuppetMaster सेप

1
1) कोई कारण नहीं है। मेरा सुझाव है कि आप एक वास्तविक डोमेन पर उप-डोमेन का उपयोग करें। तकनीकी रूप से, कोई भी server.evp.arealdomain.com को हल कर सकता है।
स्टु थॉम्पसन

3
कुछ सार्वजनिक भी होते हैं जैसे * .127.0.0.1.xip.io और अन्य
डेव जेम्स मिलर

3

हमारे पास अपने स्थानीय DNS सर्वर में वाइल्डकार्ड DNS का उपयोग करके यह काम है: Aकुछ ऐसा रिकॉर्ड जोड़ें*.local -> 127.0.0.1

मुझे लगता है कि आपकी नेटवर्क सेटिंग्स को नेटवर्क पर मशीनों के लिए डोमेन प्रत्यय खोज सूची में चुने गए डोमेन प्रत्यय की आवश्यकता होगी, इसलिए आप .localअपनी कंपनी के आंतरिक डोमेन (जैसे .int) से बदलना चाहते हैं और फिर उप-डोमेन जोड़ना चाहें जैसे .localhost.intइसे स्पष्ट करना इसके लिए क्या है।

तो नेटवर्क पर हर किसी के लिए *.localhost.intहल होगा 127.0.0.1, और सभी डेवलपर्स के लिए फ़ाइल सेटिंग्स को कॉन्फ़िगर करें "बस काम करेगा" यदि समापन बिंदु उस उपडोमेन जैसे हैंग करते हैं site1.localhost.int, तो site2.localhost.intयह बहुत ही योजना है जिसे हमने पेश किया है।

dnsmasq भी अच्छी लगती है, लेकिन मैंने अभी तक इसकी कोशिश नहीं की है: http://ihaveabackup.net/2012/06/28/use-wildcards-in-the-hosts-file/


2

मैंने पायथन में एक सरल डीएनएस प्रॉक्सी लिखा है। यह वाइल्डकार्ड प्रविष्टियों को / etc / मेजबान में पढ़ेगा। यहां देखें: http://code.google.com/p/marlon-tools/source/browse/tools/dnsproxy/dnsproxy.py

मैंने लिनक्स और मैक ओएस एक्स में परीक्षण किया है, लेकिन अभी तक विंडोज में नहीं।


2

आप एंग्रीहोस्ट की कोशिश कर सकते हैं , जो वाइल्डकार्ड और नियमित अभिव्यक्ति का समर्थन करने का एक तरीका प्रदान करता है। दरअसल, यह एक होस्ट फाइल एन्हांसमेंट और मैनेजमेंट सॉफ्टवेयर है।
अधिक सुविधाएँ देखी जा सकती हैं @ http://angryhosts.com/features/


2

मैं ऐसा करने के लिए DNSChef का उपयोग कर रहा हूं।

https://thesprawl.org/projects/dnschef/

आपको ऐप डाउनलोड करना होगा, लिनक्स या मैक में आपको इसे चलाने के लिए अजगर की आवश्यकता होती है। विंडोज का अपना एक्सई है।

आपको अपने dns प्रविष्टियों के साथ एक ini फ़ाइल बनानी चाहिए, उदाहरण के लिए

[A]
*.google.com=192.0.2.1
*.local=127.0.0.1
*.devServer1.com=192.0.2.3

फिर आपको व्यवस्थापक विशेषाधिकारों के साथ डीएनएस एप्लिकेशन को लॉन्च करना होगा

sudo python dnschef.py --file myfile.ini -q

या खिड़कियों में

runas dnschef.exe --file myfile.ini -q

अंत में आपको अपने एकमात्र DNS को अपने स्थानीय होस्ट वातावरण (नेटवर्क, इंटरफ़ेस, डीएनएस या समान या लिनक्स /etc/resolv.conf) में सेटअप करना होगा।

बस


2

मैंने मेजबानों की जगह लेने के लिए यह सरल उपकरण बनाया। नियमित अभिव्यक्तियों का समर्थन किया जाता है। https://github.com/stackia/DNSAgent

एक नमूना विन्यास:

[
    {
        "Pattern": "^.*$",
        "NameServer": "8.8.8.8"
    },
    {
        "Pattern": "^(.*\\.googlevideo\\.com)|((.*\\.)?(youtube|ytimg)\\.com)$",
        "Address": "203.66.168.119"
    },
    {
        "Pattern": "^.*\\.cn$",
        "NameServer": "114.114.114.114"
    },
    {
        "Pattern": "baidu.com$",
        "Address": "127.0.0.1"
    }
]

0

मुझे लेखन में निषेध नहीं मिला, लेकिन सम्मेलन द्वारा, विंडोज होस्ट फ़ाइल UNIX होस्ट फ़ाइल का बारीकी से अनुसरण करती है, और आप उस फ़ाइल में वाइल्डकार्ड होस्टनाम संदर्भ नहीं डाल सकते हैं।

यदि आप मैन पेज पढ़ते हैं, तो यह कहता है:

DESCRIPTION
     The hosts file contains information regarding the known hosts on the net-
     work.  For each host a single line should be present with the following
     information:

           Internet address
           Official host name
           Aliases

यद्यपि यह कहता है,

     Host names may contain any printable character other than a field delim-
     iter, newline, or comment character.

व्यावहारिक स्तर से यह सच नहीं है।

असल में, कोड जो / etc / मेजबान फ़ाइल को देखता है वह वाइल्डकार्ड प्रविष्टि का समर्थन नहीं करता है।

वर्कअराउंड सभी प्रविष्टियों को पहले से बनाना है, हो सकता है कि एक स्क्रिप्ट का उपयोग एक बार में कुछ सौ प्रविष्टियाँ डालने के लिए करें।


0

@petah और ऐक्रेलिक डीएनएस प्रॉक्सी सबसे अच्छा उत्तर है, और अंत में वह अपाचे का उपयोग करके मल्टी-साइट करने की क्षमता का संदर्भ देता है जो @jeremyasnyder थोड़ा और नीचे का वर्णन करता है ...

... हालाँकि, हमारे मामले में हम एक बहु-किरायेदार होस्टिंग सिस्टम का परीक्षण कर रहे हैं और इसलिए अधिकांश डोमेन हम उसी पर जाने के लिए परीक्षण करना चाहते हैं virtualhost, जबकि कुछ अन्य को अन्यत्र निर्देशित किया जाता है।

तो हमारे मामले में, आप बस ServerAliasनिर्देश में रीगेक्स वाइल्डकार्ड का उपयोग करते हैं , जैसे ...

ServerAlias *.foo.local

0

यहाँ लक्ष्य पूरा करने की कोशिश करने वालों के लिए कुल विन्यास है (देव वातावरण में वाइल्डकार्ड यानी, XAMPP - यह उदाहरण एक ही कोडबेस की ओर इशारा करते हुए सभी साइटों को मानता है)

होस्ट फ़ाइल (एक प्रविष्टि जोड़ें)

फ़ाइल:% SystemRoot% \ system32 \ ड्राइवरों \ etc \ मेजबान

127.0.0.1   example.local

httpd.conf कॉन्फ़िगरेशन (vhosts सक्षम करें)

फ़ाइल: \ XAMPP \ etc \ httpd.conf

# Virtual hosts
Include etc\extra\httpd-vhosts.conf

httpd-vhosts.conf कॉन्फ़िगरेशन

फ़ाइल: XAMPP \ etc \ extra \ httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin admin@example.local
    DocumentRoot "\path_to_XAMPP\htdocs"
    ServerName example.local
    ServerAlias *.example.local
#    SetEnv APP_ENVIRONMENT development
#    ErrorLog "logs\example.local-error_log"
#    CustomLog "logs\example.local-access_log" common
</VirtualHost>

फिर से शुरू करें

pac फ़ाइल बनाएँ:

जहाँ भी आप चाहते हैं के रूप में save.pac सहेजें और फिर ब्राउज़र के नेटवर्क में फ़ाइल लोड करें> प्रॉक्सी> auto_configuration सेटिंग्स (यदि आप इसे बदलते हैं तो पुनः लोड करें)

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*example.local")) {
    return "PROXY example.local";
  }
  return "DIRECT";
}

काम नहीं किया, पीएसी के बारे में अभी तक पता नहीं है लेकिन यह लाइन '' PROXY example.local '' लौटाएगी; एक प्रॉक्सी आईपी वापस नहीं आएगा: ब्राउज़र द्वारा प्रॉक्सी के रूप में उपयोग किया जाने वाला पोर्ट?
आयन

0

इसके लिए आप इकोइपडीन्स का उपयोग कर सकते हैं ( https://github.com/zapty/echoipdns )।

echoipdns local .Local उप-डोमेन के लिए सभी अनुरोधों को चलाने से 127.0.0.1 पर पुनर्निर्देशित किया जाता है, इसलिए xyz.local आदि के साथ कोई भी डोमेन 127.0.0.1 का समाधान करेगा। आप किसी भी अन्य प्रत्यय का उपयोग कर सकते हैं, बस स्थानीय को अपने इच्छित नाम से बदल सकते हैं।

Echoipdns और भी अधिक शक्तिशाली है, जब आप नेटवर्क में अन्य मशीनों से अपने url का उपयोग करना चाहते हैं तब भी आप इसे शून्य कॉन्फ़िगरेशन के साथ उपयोग कर सकते हैं।

उदाहरण के लिए यदि आपका मशीन का आईपी पता 192.168.1.100 है तो अब आप एक डोमेन नाम xyz.192-168-1-100.local का उपयोग कर सकते हैं जो हमेशा 192.168.1.100 पर हल होगा। यह जादू डोमेन नाम के दूसरे भाग में आईपी पते को देखने और DNS क्वेरी पर समान आईपी पते को वापस करने के द्वारा गूंज द्वारा किया जाता है। आपको उस मशीन पर प्रतिध्वनि को चलाना होगा जिससे आप रिमोट सिस्टम को एक्सेस करना चाहते हैं।

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

तो अनिवार्य रूप से यह वाइल्डकार्ड डोमेन आधारित डीएनएस विकास को स्थानीय और साथ ही टीम के वातावरण के लिए सरल करता है।

echoipdns मैक, लिनक्स और विंडोज पर काम करता है।

नोट: मैं गूंज के लिए लेखक हूँ।


0

एक्रिलिक DNS प्रॉक्सी के साथ nginx config auto subdomain के लिए कॉन्फ़िगरेशन

अपने nginx साइटों फ़ोल्डर के लिए auto.conf फ़ाइल

server {
    listen 80;
    server_name ~^(?<branch>.*)\.example\.com;
    root /var/www/html/$branch/public;  

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_log  /var/log/nginx/$branch.error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
       try_files $uri /index.php =404;
       fastcgi_pass php-fpm:9000;
       fastcgi_index index.php;
       fastcgi_buffers 16 16k;
       fastcgi_buffer_size 32k;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

ऐक्रेलिक होस्ट फ़ाइल में जोड़ें 127.0.0.1 example.com *.example.comऔर ऐक्रेलिक सेवा को पुनरारंभ करें। $ शाखा - आपका उपडोमेन नाम।

रूट / var / www / html / $ शाखा / सार्वजनिक के बजाय सेट करें ; आपका प्रोजेक्ट पथ


0

यह पाई-होल का उपयोग करके किया जा सकता है , बस "/ etc / मेजबान" को संपादित करें और dns सेवा को पुनरारंभ करें।

nano /etc/hosts
pihole restartdns

उदाहरण:

127.0.1.1       raspberrypi
192.168.1.1     w1.dev.net
192.168.1.2     w2.dev.net
192.168.1.3     w3.dev.net

-1

आप http://www.no-ip.com जैसे डायनेमिक DNS क्लाइंट का उपयोग कर सकते हैं । फिर, एक बाहरी DNS सर्वर CNAME * .mydomain.com से mydomain.no-ip.com पर।


2
जो आपके बाहरी आईपी को हल करेगा, और आमतौर पर जो आपके राउटर / मॉडेम कॉन्फिग पेज को लाएगा
सैम

-1

जब आप उस तरह वाइल्डकार्ड नहीं जोड़ सकते हैं, तो आप उन साइटों की पूरी सूची जोड़ सकते हैं जिनकी आपको आवश्यकता है, कम से कम परीक्षण के लिए, जो मेरे होस्ट फ़ाइल में आपके लिए पर्याप्त रूप से काम करती है, आप बस जोड़ें:

127.0.0.1 site1.local
127.0.0.1 site2.local
127.0.0.1 site3.local
...


मुझे लगता है कि मूल पोस्टर इस कदम की परेशानी से बचने का प्रयास कर रहा है।
सिमोन ईस्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.