- डेवलपमेंट के दौरान web app के लिए
localhost:4333 जैसे पोर्ट याद रखे बिना, appname.localhost जैसे आसान address से access करने की सेटिंग का अनुभव साझा किया गया है
- इस सिस्टम का उपयोग करने पर local web app access काफी अधिक intuitive और साफ-सुथरा हो जाता है
- हर app अपने अलग पोर्ट पर
launchd daemon के रूप में चलता है
/etc/hosts फ़ाइल में appname.localhost को 127.0.0.1 पर redirect किया जाता है
- उदाहरण:
127.0.0.1 inclouds.localhost
- Caddy के जरिए उस डोमेन को सही पोर्ट पर proxy किया जाता है
Caddy सेटिंग उदाहरण
inclouds.localhost {
reverse_proxy localhost:5050
tls internal
encode gzip zstd
}
- हर
.localhost डोमेन के लिए Caddyfile में संबंधित पोर्ट की proxy सेटिंग लिखी जाती है
- इसमें internal TLS certificate और compression support भी शामिल है
आगे के सुधार के आइडिया
- अभी तीन फ़ाइलें (
/etc/hosts, Caddyfile, launchd plist) मैन्युअली edit करनी पड़ती हैं
- आगे लक्ष्य एक ऐसा automation tool बनाना है जो एक ही command से app को
.localhost डोमेन पर install/remove कर सके
अपडेट
- Cristóbal ने dnsmasq आधारित command सुझाई, जिससे यह प्रक्रिया और आसान हो गई
- मुख्य आइडिया इस प्रकार है:
- सभी
*.localhost को 127.0.0.1 पर redirect करना
127.0.0.1 पर किसी खास पोर्ट तक reverse proxy करने वाला server सेट करना
dnsmasq से redirection सेट करना
Caddy और localhost स्क्रिप्ट से reverse proxy सेट करना
वास्तविक कामकाज का टेस्ट
2 टिप्पणियां
अगर बाहरी नेटवर्क एक्सेस पर रोक न हो, तो मैं NIP.IO जैसी Wildcard DNS इस्तेमाल करूंगा।
Hacker News राय
ब्राउज़र
.localhostडोमेन के लिए secure context प्रदान करते हैं.internalडोमेन का उपयोग किया जा सकता हैnginxlocal development config snippet सरल हैChrome और Firefox डिफ़ॉल्ट रूप से सभी
<name>.localhostडोमेनों कोlocalhostके रूप में resolve करते हैंLocalias प्रोजेक्ट local web development के लिए उपयोगी है
.localdomain alias को नेटवर्क के दूसरे डिवाइसों पर भी इस्तेमाल करने देता है/etc/hostsफ़ाइल को मैन्युअली संपादित करने की ज़रूरत नहीं होती.localhostके subdomain Linux, OpenBSD आदि में डिफ़ॉल्ट रूप से काम करते हैं/etc/hostsमें subdomain को स्पष्ट रूप से जोड़ना पड़ता हैअगर आप Caddy का उपयोग कर रहे हैं, तो खरीदा हुआ domain और DNS-01 challenge इस्तेमाल करना बेहतर है
कुछ लोग private network में vanity domain का भी उपयोग करते हैं
हर local hosting app को अलग IP address दिया जा सकता है
127.0.0/24रेंज के IP address उपयोग किए जा सकते हैंLinux systems में यह
systemd-resolvedके माध्यम से डिफ़ॉल्ट रूप से काम करता है