উইন্ডোজ হোস্ট ফাইলটিতে পোর্ট নম্বর ব্যবহার করা


190

টিমভিউয়ার ইনস্টল করার পরে, আমি ওয়্যাম্পসারবার পোর্টটি 8080 এ পরিবর্তন করেছি, সুতরাং ঠিকানাটি http://localhost:8080.

সি: I উইন্ডো \ সিস্টেম 32 \ ড্রাইভারস \ ইত্যাদি at এ থাকা হোস্ট ফাইলের জন্য আমিও নীচের মত পরিবর্তন করেছি

আগে
127.0.0.1 www.example.com

পরে
127.0.0.1:8080 www.example.com

আমি যখন www.example.com অ্যাক্সেস করি তখন এটি আমার wampserver এ পুনর্নির্দেশ করে না, আমি কীভাবে এটি ঠিক করতে পারি?


যথাযথ অ্যাপ্লিকেশন -> যা নির্দিষ্ট বন্দর শোনায় (বা হোস্টিং সংস্থার সরবরাহকারী সিএনএমে এটি করুন)
মুসা


সম্ভবত এটি পর্যালোচনা করুন এবং নেটশের উত্তরের স্বীকৃত উত্তরটি স্যুইচ করবেন? আমি উইন্ডোজ 10 এ স্থানীয়ভাবে আমার ডকার ইমেজগুলিতে .টেস্ট ডোমেনগুলি কীভাবে ম্যাপ করব সেগুলি বের করার চেষ্টা করার সময় আমি এখানেই শেষ হয়েছি, এবং নেট জবাবটি কবজির মতো কাজ করেছে!
জেরেম

প্রশ্নটি হ'ল: আপনি কি পুরো হোস্টকে একটি একক বন্দরে (?!) বা কেবল পোর্ট 80 (সেই হোস্টের) 8080 পোর্টে পুনর্নির্দেশের চেষ্টা করছেন? এখানে বেশিরভাগ উত্তর কীভাবে পুনর্নির্দেশ করা যায় (বা কমপক্ষে আপনার "লোকালহোস্ট" এর 8080 পোর্টে কোনও হোস্টের পোর্ট 80; পুনর্নির্দেশের চেষ্টা করুন ... উদাহরণ: https://www.example.com8080 বন্দর যেতে হবে? বা ডিফল্ট 443 এ? (এটি যেমন হওয়া উচিত) এর অর্থ: আপনি কী চান যে আপনার লোকালহোস্টের 8080 পোর্টে কোনও https পুনঃনির্দেশিত করা উচিত? অথবা আপনি কোথায় যাচ্ছেন তা কোথায় পুনর্নির্দেশিত হবে তা মোটেই চিন্তা করেন না?
ইলিয়াস ইলিয়াডিস

উত্তর:


194

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

সুতরাং বুকমার্ক বা এর মতো কিছু ব্যবহার করুন।
(কিছু ফায়ারওয়াল / রাউটিং সফ্টওয়্যার আউটবাউন্ড পোর্ট পুনঃনির্দেশের অনুমতি দিতে পারে, তবে এটি সত্যিই এর জন্য আবেদনমূলক বিকল্পের মতো শোনাচ্ছে না))


6
বুকমার্কগুলি কীভাবে ব্যবহার করবেন, আপনি কি আমাদের কোনও লিঙ্কে বা কিছু ডকুমেন্টেশন বা এই বিষয়ে টিউটোরিয়ালে নিয়ে যেতে পারেন
adham dwikat

@Jereme: আপনি ওপি যে বলা উচিত, আমি এটা সম্পর্কে কিছুই করতে পারবো না
মাদুর

1
@ ম্যাট এটি দুর্দান্ত হবে, তাই না? আমি কেবল চাইছি অন্যরা যারা এটি দেখেন তারা কিছুটা নিচে স্ক্রোল করে শট দেওয়ার জন্য তা জানতে পারেন। আমি উইন্ডোজ 10 এ স্থানীয়ভাবে আমার ডকার ইমেজগুলিতে .টেস্ট ডোমেনগুলি কীভাবে ম্যাপ করব সেগুলি বের করার চেষ্টা করার সময় আমি এখানেই শেষ হয়েছি, এবং নেট জবাবটি কবজির মতো কাজ করেছে!
জেরেম

169

ফিডলার 2 অ্যাপ্লিকেশনটির মাধ্যমে হোস্ট ফাইলটি পরিবর্তন করে আপনি যা চান তা অর্জন করা যায় ।

এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ফিডলার 2 ইনস্টল করুন

  2. ফিডলার 2 মেনুতে নেভিগেট করুন: - সরঞ্জামগুলি > হোস্টস .. (নির্বাচন করতে ক্লিক করুন)

  3. এর মতো একটি লাইন যুক্ত করুন: -

    localhost:8080 www.mydomainname.com

  4. ফাইলটি সংরক্ষণ করুন এবং তারপরে www.mydomainname.comব্রাউজারে চেকআউট করুন ।


34
এটি একটি খারাপ সমাধান। আপনার সবসময় ফিডলারের চলমান থাকা দরকার।
জেমস হাকাবোন

48
@ জামেসহাকাবেন: আপনার কি আরও ভাল সমাধান আছে? আমরা এটা পছন্দ করব!
রজত গুপ্ত

16
আমি এই পদ্ধতিটি ব্যবহার করার সময় আমি ত্রুটি 400 খারাপ অনুরোধ পেয়েছি
স্যাম

3
এটি আর কাজ করে না বলে মনে হচ্ছে। উভয় fiddler2 এবং fiddler4 সঙ্গে এটি চেষ্টা
Basher

1
@ বাশার ইউ এখনও এটি নিশ্চিতভাবে ফিডলারের বিধি.জেজে স্ক্রিপ্ট করতে পারে। ফিডলারের হোস্ট ফাংশনালিটি উইন্ডোজ ফাইল হোস্ট করে না, এগুলির সাথে কাজ করা সহজ করার জন্য এই নামগুলির একটি বিনোদন। অটোরস্পেন্ডারদের মতো, এটির সরাসরি স্ক্রিপ্টিং আপনি যা করতে পারেন তার কেবলমাত্র একটি উপসেট। আপনি যদি মেনুগুলির সাথে কিছু করতে না পারেন তবে এটি স্ক্রিপ্ট করুন।
m3nda

157

আমি উইন্ডোজ অন্তর্ভুক্ত নেটওয়ার্কিং সরঞ্জাম ব্যবহার করে এটি অর্জন করতে সক্ষম হয়েছি netsh

যেমন মাদুর পয়েন্টটি দেখায়: হোস্ট ফাইলটি কেবল হোস্ট নেম রেজোলিউশনের জন্য, সুতরাং দুজনের সংমিশ্রণটি আমার পক্ষে কৌশলটি করেছে।

উদাহরণ


সংক্ষিপ্ত বিবরণ

example.app:80
 |                           <--Link by Hosts File
 +--> 127.65.43.21:80
       |                     <--Link by netsh Utility
       +--> localhost:8081

ক্রিয়াকলাপ

  • আমার সার্ভার চালু হয়েছে localhost:8081
  • একটি নতুন লাইন হিসাবে হোস্ট ফাইলটিতে আমার "স্থানীয় ডিএনএস" যুক্ত হয়েছে
    • 127.65.43.21 example.app
      • নেটওয়ার্কের কোনও মুক্ত ঠিকানা 127.0.0.0/8( 127.x.x.x) ব্যবহার করা যেতে পারে।
      • দ্রষ্টব্য: আমি ধরে নিচ্ছি যে127.65.43.21:80অন্য কোনও পরিষেবা দখল করে নি।
      • আপনি চেক করতে পারেন netstat -a -n -p TCP | grep "LISTENING"
  • নেট নেট কমান্ড ইউটিলিটি সহ নিম্নলিখিত নেটওয়ার্ক কনফিগারেশন যুক্ত করা হয়েছে
    • netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
  • আমি এখন সার্ভারটিতে অ্যাক্সেস করতে পারি http://example.app

নোটস:
- এই আদেশগুলি / ফাইল পরিবর্তনগুলি প্রশাসনিক অধিকার সহ কার্যকর করা দরকার

- নেট পোর্টপ্রক্সির শুধুমাত্র v4tov4 ব্যবহার করার জন্য আইপিভি 6 লাইব্রেরি প্রয়োজন , সাধারণত সেগুলি ডিফল্টরূপে অন্তর্ভুক্ত করা হবে, অন্যথায় নিম্নলিখিত কমান্ডটি ব্যবহার করে এগুলি ইনস্টল করুন:netsh interface ipv6 install


আপনি কমান্ডটি দিয়ে যুক্ত করা এন্ট্রিটি দেখতে পাবেন :

netsh interface portproxy show v4tov4

আপনি নিম্নলিখিত কমান্ডটি দিয়ে এন্ট্রি সরাতে পারেন :

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21


সংস্থানসমূহের লিঙ্কগুলি:


এটি আমার পক্ষে কাজ করছে না। লিঙ্কটিতে আপনি এটি দেখিয়েছেন "এছাড়াও আপনি কানেক্টড্রেস হিসাবে 127.0.0.1 ব্যবহার করতে পারবেন না"।
ডন বক্স

@ ডনবক্স: আপনি যদি আপনার সেটআপে আরও কিছু বিশদ সরবরাহ করেন তবে আমি আপনাকে সহায়তা করতে পারি। সংযুক্ত ঠিকানা হিসাবে 127.0.0.1 ব্যবহার করা মূলত উপস্থাপিত কেস দৃশ্যে প্রয়োজনীয়তা কারণ সার্ভার লোকালহোস্টে শুরু হয়েছিল , ডিফল্ট হিসাবে অন্যান্য অনেক প্রোগ্রামের মতো। আপনি যদি অন্য ঠিকানায় শুরু করতে পারেন তবে আপনার পুরো পোর্ট ফরওয়ার্ডিং প্রক্রিয়া দরকার নেই, আপনাকে কেবল হোস্ট ফাইলটি পরিবর্তন করতে হবে ... সম্ভবত, এখানে বর্ণিত হিসাবে , আপনি আইপিভি 6 প্রোটোকল ইনস্টল করেন নি: ইনস্টল করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন তাদের:netsh interface ipv6 install
পাউ কোমা রামিরেজ

13
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত কারণ আমার বেস উইন্ডোজ 10 ইনস্টলগুলিতে সরঞ্জামগুলি ইতিমধ্যে ইনস্টল করা আছে এবং এটি আমার যা প্রয়োজন ঠিক তা করে। আমি অ্যাপাচি এবং মোড_প্রক্সি ইনস্টল করার বিষয়ে বিবেচনা করছিলাম তবে এটি আরও ভাল সমাধান।
ম্যাক্স ইয়ং

1
আমার জন্য কাজ করে না। নেটস ঠিকানাটি ফরোয়ার্ড করছে বলে মনে হচ্ছে, তবে বন্দরটি নয়।
steph643

2
আমি ডকারের পোর্টেনার ব্যবহার করি। এটি 9000 পোর্টে লোকালহোস্ট ব্যবহার করে above উপরের কমান্ডটি পরিবর্তন করে, আমি ঠিকানার কোনও পোর্ট নির্দিষ্ট না করেই Portainer.local ব্যবহার করি। আমি প্রথমে, আমার হোস্ট ফাইলে 127.0.0.1মিলের জন্য ঠিকানা হিসাবে যুক্ত portainer.localকরব। তারপরে আমি চালাব: netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectport=9000 connectaddress=127.0.0.1 এটি চালানোর জন্য সেন্টিমিডি / পাওয়ারশেলে কী চাপুন। এর পরে, টাইপ করে নেট থেকে প্রস্থান করুন exit। ব্রাউজারে, টাইপ করা http://portainer.localএখন আমাকে যেখানে http://localhost:9000অভ্যস্ত তা নিয়ে যায়। এটি আমার জন্য কবজির মতো কাজ করেছিল।
ইফেক্টেক্সএক্স

14

Fiddler2 -> বিধি -> কাস্টম বিধি

তারপরে শেষে পরবর্তী স্ক্রিপ্টে রাখা অনবয়েফরআরয়েস্ট ফাংশনটি সন্ধান করুন:

if (oSession.HostnameIs("mysite.com")){
    oSession.host="localhost:39901";
}

প্রকৃতপক্ষে ফিদলার 80 বন্দর, এমনকি স্কাইপে কোনও ওয়েবসভার চালানোর প্রত্যাশার চেয়ে অনেক বেশি শক্তিশালী ... উইন্ডোজে লিনাক্সের চেয়ে মনোও কমপক্ষে ক্যাপচারিং বৈশিষ্ট্যগুলির চেয়ে আরও ভাল কাজ করে, সিউজেল লিনাক্স সিএনআরএল থেকে ইনট ব্যবহার করে না। এটি ফিডলারের উপর কাজ করার এক দুর্দান্ত উপায়, এটি 1 ফাইলের সাথে রফতানিযোগ্য।
m3nda

3

সবচেয়ে সহজ উপায় এরগো আপনার বিপরীত প্রক্সি হিসাবে ব্যবহার করছে: https://github.com/cristianoliveira/ergo

আপনি আপনার পরিষেবা এবং এটির আইপি সেট করেছেন: পোর্ট এবং এর্গো এটি আপনার জন্য যাত্রা করে :)।

ব্যবহার করে আপনি একই অর্জন করতে পারেন nginxঅথবা apacheকিন্তু আপনি তাদের কনফিগার করতে হবে।


3
এরগো এমন একটি প্রকল্প হিসাবে প্রতীয়মান হয়েছে যা আপনি কাজ করেছেন (ব্যবহারকারীর নামের ভিত্তিতে)। যদি এটি হয় তবে আপনার আরও স্পষ্টভাবে নির্দেশ করা উচিত যে আপনি সেই পণ্যটির সাথে সম্পর্কিত। দেখুন এই উত্তরটি পাশাপাশি অন্যান্য উত্তর।
ফ্রাঙ্ক ট্যান

2

-আপনি 127.0.0.0/8 নেটওয়ার্কে যে কোনও ফ্রি ঠিকানা ব্যবহার করতে পারেন, আমার ক্ষেত্রে পাইথন ফ্লাস্কের জন্য এটির প্রয়োজন ছিল এবং আমি এটি করেছি: হোস্ট ফাইলটিতে এই লাইনটি যুক্ত করুন (আপনি এটি উইন্ডোতে সন্ধান করতে পারেন: সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভারস \ ইত্যাদি):

127.0.0.5 flask.dev
  • আমার ক্ষেত্রে বন্দরটি ডিফল্ট বন্দর "80" এটি নিশ্চিত করুন পাইথন ফ্লাস্কে এটিই ছিল: app.run("127.0.0.5","80")

  • এখন আপনার কোড চালান এবং ব্রাউজ করুন flask.dev


1

যদি ঘটছে তা হ'ল লোকালহোস্টে আপনার অন্য একটি সার্ভার চলছে এবং আপনি এই নতুন সার্ভারটির মতো একটি ভিন্ন স্থানীয় হোস্টনাম দিতে চান http://teamviewer/

আমি মনে করি আপনি প্রকৃতপক্ষে যা খুঁজছেন তা হ'ল ভার্চুয়াল হোস্টগুলির কার্যকারিতা। আমি অ্যাপাচি ব্যবহার করি তাই অন্যান্য ওয়েব ডেমোন কীভাবে এটি সমর্থন করে তা আমি জানি না। সম্ভবত এটিকে আলিয়াস বলা হয়। এখানে অ্যাপাচি ডকুমেন্টেশন রয়েছে:

অ্যাপাচি ভার্চুয়াল হোস্টের উদাহরণ


1

কানেক্টেড্রেস = 127.0.0.1 এর সাথে নেট ব্যবহার করা আমার পক্ষে কার্যকর হয়নি।

ইন্টারনেটে সর্বত্র সন্ধান করা সত্ত্বেও আমি যে সমাধানটি আমার জন্য সমাধান করেছি তা সন্ধান করতে পারলাম না, যা কানেক্টএড্রেস = 127.xxx (যেমন কোনও 127. ipv4 ঠিকানা, কেবল 127.0.0.1 নয়) ব্যবহার করবে কারণ এটি কেবল লোকালহোস্টের সাথে ফিরে লিঙ্কযুক্ত বলে মনে হচ্ছে appears একই তবে বাধা ছাড়াই, যাতে লুপব্যাক নেট থেকে কাজ করে।


আমি আপনাকে প্রথম এবং শেষ অনুচ্ছেদগুলি সরাতে পরামর্শ দিই। কেবলমাত্র এটি বলুন যে বিদ্যমান সমাধানগুলি কার্যকর হয়নি এবং আপনি অন্য একটি খুঁজে পেয়েছেন। অন্যথায় আপনার উত্তরটি দেখতে অনেকটা মন্তব্যের মতো, যাতে লোকেরা এটি "উত্তর নয়" হিসাবে পতাকাঙ্কিত করতে পারে এবং এটি সরানো হবে।
স্টেসিগার্ল 14'8


0

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

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