পোর্ট - ওএসএক্সের সাথে লোকালহোস্টের হোস্টনাম [বন্ধ]


14

আমি Node.jsআমার মেশিনে স্থানীয়ভাবে একাধিক ওয়েব সার্ভার চালানোর চেষ্টা করছি ।

কারণ আমি যে কোডটি লিখছি তার একটি ডোমেন নাম উল্লেখ করা দরকার যা আমি একটি কনভেনশন রাখতে চাই dev.myHost.comএবং নোড থেকে চলমান নন-পোর্ট -৮০ পরিষেবাটিতে টেকনিক্যালি বলতে চাই (প্রযুক্তিগতভাবে আমি একটিতে চলছে Harp.jএবং একটিতে Sails.js)।

  • সুতরাং dev.hostOne.comনির্দেশ করা উচিতlocalhost:123
  • এবং dev.hostTwo.comনির্দেশ করা উচিতlocalhost:456

এটা কি সম্ভব? যদি তাই হয়, কিভাবে.

উত্তর:


23

আমার বোধগম্যতা থেকে, দেখে মনে হচ্ছে আপনি কেবল একটি স্থানীয় দেব মেশিন ব্যবহার করেন, মানে কোনও ডিএনএস সরবরাহকারী কোনও নেটওয়ার্কের সাথে সংযুক্ত নেই।

আমি যদি সঠিক হয়ে থাকি তবে আমি নীচে বর্ণিত জিনিসগুলি সেটআপ করার পরামর্শ দেব:

পদক্ষেপ 1: আপনার ম্যাক ওএসে কমপক্ষে দুটি আইপি ঠিকানা বরাদ্দ করুন (প্রতিটি ডোমেন প্রতি), আসুন বলি:

192.168.0.10
192.168.0.11

দ্বিতীয় আইপি সেটআপ করতে আপনাকে একটি দ্বিতীয় ইথারনেট অ্যাডাপ্টার যুক্ত করতে হবে (যৌক্তিক শারীরিক নয়)।

পদক্ষেপ 2: আপনার কোনও ডিএনএস সার্ভার না থাকায় আপনি নিজের /etc/hostsফাইলটি সেটআপ করতে পারেন :

192.168.0.10     dev.hostone.com
192.168.0.11     dev.hosttwo.com

পদক্ষেপ 3: আপনার লুপব্যাক ইন্টারফেসে উপাধি নির্ধারণ করুন:

sudo ifconfig lo0 192.168.0.10 alias
sudo ifconfig lo0 192.168.0.11 alias

পদক্ষেপ 4:ipfw প্যাকেট ফরোয়ার্ড সেটআপ করুন :

sudo ipfw add fwd 127.0.0.1,123 tcp from me to 192.168.0.10 dst-port 80
sudo ipfw add fwd 127.0.0.1,456 tcp from me to 192.168.0.11 dst-port 80

তুমি পেরেছ !

এখন:

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


আমি আপনার কেসটি Node.jsপরীক্ষা করতে দুটি ওয়েব সার্ভার সেটআপ করেছি :

$ netstat -anp tcp | grep -E "123|456"
tcp4    0    0  127.0.0.1:123    *.*    LISTEN
tcp4    0    0  127.0.0.1:456    *.*    LISTEN

গুরুত্বপূর্ণ: নোট করুন ipfwএবং লুপব্যাক ইন্টারফেসের অ্যালিয়াসগুলি স্থির নয় এবং পুনরায় বুটের পরে আর উপস্থিত থাকবে না। সুতরাং একটি স্টার্টআপ স্ক্রিপ্ট যুক্ত বিবেচনা করুন।


1
সুন্দরভাবে কাজ করেছেন। এটি হ'ল ঠিক কী আমি চেয়েছিলাম।
সোমবার

1
খুশী এটা কাজ করে! আমি নিশ্চিত ছিলাম যে এটি সম্পূর্ণ "নকল" নয়;)
krisFR

ম্যাক ওএস সিয়েরা সুদো পেয়েছে: আইপিএফডাব্লু: কমান্ড পাওয়া যায়নি
ক্লিন্টএম

3
@ ক্লিন্টএম: ipfwপ্রতিস্থাপন করা হয়েছে pfctl। কীভাবে একটি বন্দর খুলতে হবে তার উদাহরণের জন্য: gauravsohoni.wordpress.com/2015/04/14/mac-osx-open-port
জো অ্যাটবার্গার

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