निजी नेटवर्क पर Node.js होस्ट की गई वेबसाइट के लिए कस्टम डोमेन


3

मैंने अपने आप को एक सीखने का काम दिया - अपने घर नेटवर्क के लिए सुलभ Node.js सर्वर से होस्ट होने के लिए एक अच्छी वेबसाइट बनाएं। मेरा आधार सिस्टम विंडोज 7 चला रहा है और मैं इस वेबसाइट को एक कस्टम डोमेन देना चाहता हूं, ताकि इसे अन्य उपकरणों से एक्सेस करना आसान हो।

मैंने अपनी होस्ट फ़ाइल को जोड़ने के लिए संपादित किया है mydomain सेवा मेरे 127.0.0.1 - अभी व http://mydomain:8080 एक ही मशीन पर काम करता है, लेकिन विभिन्न डिवाइस इसे एक्सेस नहीं कर सकते हैं (इसके बराबर) localhost, जिससे यह समझ में आता है कि अन्य उपकरण इसका उपयोग नहीं कर सकते)। अब मैं सोच रहा हूं कि मुझे अपने नेटवर्क आईपी पते को स्थिर बनाने के लिए एक तरीके की आवश्यकता हो सकती है, फिर उस आईपी को होस्ट फ़ाइल में "mydomain" पर मैप करें।

क्या यह कस्टम डोमेन को सुलभ बनाने का सबसे अच्छा तरीका है, या Node.js / Express (फ्रेमवर्क) / HTTP के माध्यम से जावास्क्रिप्ट का उपयोग करने का कोई समाधान है जहां मैं अपना आईपी पता डायनामिक रख सकता हूं? मैंने प्रॉक्सी का उपयोग करने के बारे में पढ़ा है, लेकिन क्या मेरे सर्वर से अप्रत्याशित व्यवहार हो सकता है?

आदर्श रूप से मैं पोर्ट को टाइप करना पसंद नहीं करूंगा और सिर्फ कुछ का उपयोग करूंगा http://mydomain

Node.js है os.networkinterfaces() इसके लिए उपलब्ध है - जिसे आप नेटवर्क आईपी के माध्यम से पुन: व्यवस्थित करने में सक्षम हैं। हो सकता है कि मुझे नेटवर्क डोमेन को कस्टम डोमेन में मैप करने के लिए बस एक तरीके की आवश्यकता हो?


वैसे मैं यह सुनिश्चित करूँगा कि 8080 उस कंप्यूटर पर खुला है जिस पर सर्वर स्थित है, तब अपने नेटवर्क के उन सभी डिवाइसों के लिए होस्ट फ़ाइल संपादित करें जिन्हें आप एक्सेस करना चाहते हैं (आप इसे iOS, Android, OSX, आदि पर कर सकते हैं) । पोर्ट को हटाना थोड़ा अधिक जटिल है, लेकिन 80 पर सुनने के लिए नोड.जेएस सेटअप करने का सबसे आसान तरीका आपके लिए होगा।
Insane

आपका मुख्य / आधार OS क्या है? यदि आप लिनक्स पर हैं, तो मेरे पास कुछ विचार हैं, लेकिन यह सुनिश्चित करना चाहते हैं कि समाधान आपकी आवश्यकताओं के अनुरूप होगा।
JakeGould

खैर, मेरा विचार अवाही डेमन जैसे एक मल्टीकास्ट / ज़र्कोनोफिग सेटअप का उपयोग करना होगा जो आपके स्थानीय मशीन के नाम को बड़े नेटवर्क पर प्रसारित करता है। शायद विंडोज 7 में पहले से ही कुछ ऐसा है और आपका राउटर सिर्फ मल्टीकास्ट ट्रैफिक को रोक रहा है? लेकिन लिनक्स सिस्टम पर आप आम तौर पर अवही को स्थापित कर सकते हैं और बिना किसी विन्यास के, आपकी मशीन का नाम पूरे नेटवर्क में उपलब्ध होगा।
JakeGould

जवाबों:


2

इसलिए मुझे आपकी समस्या का कुछ हल दिखाई देता है:

  1. कुछ SOHO राउटर DNS क्षमता प्रदान करते हैं जिसमें आप अपने आईपी को अपनी मशीन के लिए स्थैतिक सेट कर सकते हैं और एक DNS रिकॉर्ड बना सकते हैं।
  2. अधिकांश आधुनिक ओएस प्रदान करते हैं .local पता जो होगा machinename.local निजी नेटवर्क के भीतर। आप तब Node.js चला सकते हैं और उपयोग कर सकते हैं .local होस्टिंग मशीन को हल करने के लिए पता

पोर्ट 80 पर Node.js चलाने के लिए, आपको अपना परिवर्तन करना चाहिए .listen कार्य करना .listen(80)

var http = require('http');

http.createServer(function (req, res) {
 res.writeHead(200, {'Content-Type': 'text/plain'});
 res.end('Hello World\n');
}).listen(80, "127.0.0.1");

console.log('Server running at http://127.0.0.1:80/');

1
HTTP प्रोटोकॉल डिफ़ॉल्ट पोर्ट के रूप में पोर्ट 80 का उपयोग करता है। जब आप टाइप करें ' mydomain 'यह मान लिया जाएगा कि सर्वर पोर्ट 80 पर है। यदि वेब सर्वर पोर्ट 80 पर नहीं चल रहा है, तो आपको पोर्ट निर्दिष्ट करना होगा।
Luke Farnell

अगर मैं विकल्प 2 के साथ जाता हूं तो क्या होगा - मैं विंडोज 7 चला रहा हूं और मुझे लगता है कि मेरे बिना इसे स्थापित करने की आवश्यकता के बिना समर्थित है। क्या मैं अपनी वेबसाइट http: // & lt; machinename & gt; .local / के साथ अटका हुआ हूं।
Chicowitz

AFAIK जब तक आप एक DNS सर्वर सेटअप नहीं करते हैं, तब तक या तो आपके आईपी पते या .local पते को प्रदान करने की आवश्यकता है, हां, आप उस डोमेन नाम के साथ अटक जाएंगे। यदि यह सही उत्तर है, तो कृपया इसे सही के रूप में चिह्नित करें।
Luke Farnell

निम्नानुसार होना चाहिए: app.listen (80, 127.0.0.1, फ़ंक्शन () {कंसोल.लॉग ("======================") ;; & lt; संगणना & gt;। केवल ब्राउज़र में उपयोग किया जाना है, श्रवण के लिए कोई पैरामीटर नहीं
Luke Farnell

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