ল্যানে নোডজেএস সার্ভারটি কীভাবে অ্যাক্সেস করবেন?


16

আমি এখন পর্যন্ত নেটওয়ার্কিংয়ের সাথে সবচেয়ে জ্ঞানী লোক নই, তবে এখানে ...

আমি নোডজেএস দিয়ে একটি অ্যাপ্লিকেশন তৈরি করেছি এবং আমি আমার পরিবারের সাথে আমার ল্যানে আবেদন পরীক্ষা করতে চাই to আবেদন পোর্টে শোনে 1337সংযোগের এবং আমি টাইপ করে আমার নিজের পিসি মাধ্যমে আবেদন জরিমানা অ্যাক্সেস করতে পারেন localhost:1337, 192.168.0.3:1337বা এমনকি http://joel-pc:1337/আমার ব্রাউজারের এড্রেস বারে।

আমি নোডজেএসের পাশাপাশি অ্যাপাচি চালিয়ে যাব এবং এটি একই নেটওয়ার্কের সাথে সংযুক্ত না হওয়া পর্যন্ত আমি টাইপ করে 192.168.0.3বা http://joel-pc/ব্রাউজারের ঠিকানা বারে এই সূক্ষ্ম অ্যাক্সেস করতে পারি can

এখন এই এক অদ্ভুত অংশ; যদি আমি Apache পরিষেবা বন্ধ, পোর্ট শুনতে আমার নোড আবেদন পরিবর্তন 80(HTTP) এর insted 1337, এটা টাইপ করে আমার পিসিতে অ্যাক্সেস করা যাবে localhost, 192.168.0.3বা এমনকি http://joel-pcআমার ব্রাউজারের এড্রেস বারে। যাইহোক, আমি এখনও আমার নিজস্ব ব্যতীত আমার নেটওয়ার্কের অন্য কোনও পিসিতে নোডজেএস অ্যাক্সেস করতে পারি না।

1337 বন্দরটিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য আমি উইন্ডোজ 7-র মধ্যে একটি বহির্মুখী নিয়ম তৈরি করার চেষ্টা করেছি, তবে আমি এখনও আমার নিজের ব্যতীত অন্য কোনও পিসিতে আমার নোডজেএস সার্ভারটিতে অ্যাক্সেস পেতে পারি না, এমনকি যদি এটি 80 পোর্টে শোনা যায় তবে কি সুস্পষ্ট কিছু রয়েছে? আমি এখানে মিস করছি?


2
যদি কেবলমাত্র পরীক্ষা হিসাবে, আপনি নিজের ফায়ারওয়ালটি বন্ধ করেন?
चीजম্যাকফ্লাই

1
যদি আমি আমার ফায়ারওয়ালটি বন্ধ করে রাখি তবে আমি নোডটি পুরোপুরি অ্যাক্সেস করতে পারি, আপনাকে ধন্যবাদ :) তবে অবশ্যই কাজগুলি করার একটি নিরাপদ উপায় থাকতে হবে?
জোয়েল মারফি

1
আমি এখনই এটি আবার রেখেছি, চিন্তা করবেন না :) আমারও কি সেখানে পোস্ট করা উচিত? বা আমার প্রশ্নটি সরিয়ে দেওয়ার কোনও উপায় আছে? আপনাকে ধন্যবাদ
জোয়েল মারফি

2
চিয়ার্স। আমি এটিও পতাকাঙ্কিত করেছি কারণ আমি অন্য থ্রেডে পড়েছিলাম যে কোনও মডারেটরের দ্বারা কোনও পদক্ষেপ নেওয়ার আগে এটি 3 ব্যবহারকারী দ্বারা পতাকাঙ্কিত করা দরকার
জোয়েল মারফি

2
আমি যে পতাকাটি উত্থাপিত করেছি এটি সহায়ক হিসাবে বিবেচিত হয়েছে, সুতরাং এটি কতক্ষণ নিতে পারে তা নিশ্চিত হন না!
चीजম্যাকফ্লাই

উত্তর:


11

সম্ভবত আপনার নোড অ্যাপ্লিকেশনটি 127.0.0.1"সমস্ত আইপি" এর পরিবর্তে লুপব্যাক আইপি ঠিকানার সাথে বাধ্যতামূলক 0.0.0.0কারণ এটি এর ডিফল্ট আচরণ listen। আপনার কলটিতে পোর্ট এবং আইপি উভয়ই নির্দিষ্ট server.listen(80, '0.0.0.0');করুন এবং আবার চেষ্টা করুন।


3
আমি যদি এটি করি তবে আমি এখনও আমার ল্যানে অন্য কোনও ডিভাইসে নোড অ্যাক্সেস করতে পারছি না। আমার কোডটি এরকম কিছু দেখাচ্ছে: বর্ণ io = প্রয়োজনীয় ('সকেট.আইও'); var এক্সপ্রেস = প্রয়োজনীয় ("এক্সপ্রেশন"); var অ্যাপ = এক্সপ্রেস (); var সার্ভার = প্রয়োজন ('HTTP')। createServer (অ্যাপ) io = io.listen ('80 ',' 0.0.0.0 ');
জোয়েল মারফি

2
এটি আমার ক্ষেত্রে কাজ করেছে। কিছু ওয়্যারলেস নেটওয়ার্কগুলিতে localhostএকটি স্ট্রিং হিসাবে কাজ করে, তবে অন্যগুলিতে আপনাকে এটি টাইপ করতে হবে127.0.0.1
রাউল রেনে

এটি বর্তমানে লেখা হিসাবে প্রশ্নের আলোকে ভুল, কারণ এটি ল্যান ঠিকানা ব্যবহার করে স্থানীয় কম্পিউটারে অ্যাক্সেস করা যেতে পারে, যার অর্থ এটি সেই ঠিকানায়ও শুনছে।
অ্যারলেন বেলার

6

আপনার বর্তমান স্থানীয় নেটওয়ার্ক আইপি পান এবং এই জাতীয় পোস্ট সার্ভার চালান:

server.listen(80, 'current_local_ip');

1
এটা আমার জন্য কাজ করে।
psulek

নোডজেএস ডক্স জানিয়েছে যে কোনও আইপি নির্দিষ্ট না করা থাকলে তা ওয়াইল্ডকার্ডে শোনবে ( ::0.0.0.0
ক্রমানুয়ে

3

প্রথমত, C:\Program Files (x86)\nodeআপনার ফায়ারওয়ালে বিশ্বাসযোগ্য অ্যাপ্লিকেশনগুলির তালিকাতে আপনাকে যুক্ত করতে হবে।

তারপরে, আপনার নোড অ্যাপে আপনি লিখতে পারেন:

listen(3333, '172.24.14.26', function() {

বা:

listen(3333, '0.0.0.0', function() {

বা:

listen(3333, function() {

বা:

listen(80, '172.24.14.26', function() {

বা:

listen(80, '0.0.0.0', function() {

বা:

listen(80, function() {

এই 6 টি সংমিশ্রনের প্রত্যেকটিই আমার ক্ষেত্রে কাজ করে: উইন্ডোজ সার্ভার 2016-এ নোড.জেএস, একটি সংস্থা প্রক্সি দ্বারা সুরক্ষিত।


3

উইন্ডোজ পিসিতে নিম্নলিখিত কাজগুলি করা আমার পক্ষে কাজ করেছিল। এটি চেষ্টা করুন: খুলুন

নিয়ন্ত্রণ প্যানেল \ সিস্টেম এবং সুরক্ষা \ উইন্ডোজ ডিফেন্ডার ফায়ারওয়াল \ অনুমোদিত অ্যাপ্লিকেশন

তালিকার নোড.জেএস এর জন্য পরবর্তী চেহারা এবং সেটিংস পরিবর্তন ক্লিক করুন> ব্যক্তিগত অ্যাক্সেস চেক করা আছে তা নিশ্চিত করুন এবং তারপরে ওকে ক্লিক করুন।


3

আমি এই সমস্যার জন্য একটি ভাল সমাধান খুঁজে পেয়েছি। সমস্ত কনফিগারেশন (ফায়ারওয়াল সেট করা, পোর্ট ফরওয়ার্ডিং ইত্যাদি) না করে আমি লোকালচোনাল ব্যবহার করেছি যা ইন্টারনেটে লোকাল নোড সার্ভার উন্মোচন করার জন্য একটি ইউটিলিটি। আপনি এটিকে বিকাশের জন্য, পরীক্ষার জন্য, ভাগ করে নেওয়ার উদ্দেশ্যে ব্যবহার করতে পারেন, কেবল এটি উত্পাদন জন্য ব্যবহার করবেন না।

প্রথমে আপনাকে নিম্নরূপে লোকাল্টনেল ইনস্টল করতে হবে:

$npm install -g localtunnel

এর পরে আপনার নোড অ্যাপ্লিকেশনটি কনফিগার করুন যাতে আপনার নোড সার্ভার লোকালহোস্টে চলতে হবে be প্রাক্তন হিসাবে:

server.listen(3000, function () {
console.log('Listening to port:  ' + port);
});

আপনার_পোর্টটি নোট করুন যা আমার ক্ষেত্রে 3000 ছিল এবং আপনার নোড সার্ভারটি শুরু করুন।

অন্য একটি টার্মিনাল খুলুন এবং লোকালটোনাল চালানোর জন্য নিম্নলিখিত কমান্ডটি টাইপ করুন।

$lt --port 3000

এর পরে, টার্মিনালে আপনি একটি ইউআরএল পাবেন যা আপনি এটি বিকাশ / পরীক্ষার উদ্দেশ্যে ব্যবহার করতে পারবেন। এই ইউআরএল ইন্টারনেটে উপলব্ধ হবে যাতে আপনি এটি অন্যদের সাথেও ভাগ করে নিতে পারেন। আপনার স্থানীয় ভাগ্য যতক্ষণ চলমান থাকবে ততক্ষণ অন্যরা আপনার স্থানীয় নোড সার্ভারটি অ্যাক্সেস করতে পারে।

আরও কনফিগারেশন বিকল্পের জন্য / সহায়তার জন্য আপনি ডকুমেন্টেশনের মাধ্যমে যেতে পারেন: https://www.npmjs.com/package/localtunnel

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.