কীভাবে ডিএনএস / হোস্টনেম বা কোনও নির্দিষ্ট আইপি: পোর্ট সমাধানের অন্যান্য উপায় ব্যবহার করবেন


51

এটি আইপি / পোর্টগুলিতে ডিএনএস / হোস্টনেম রেজোলিউশন সম্পর্কে একটি ক্যানোনিকাল প্রশ্ন

উদাহরণ 1

আমি পোর্ট ৮০ এবং অন্য একটি port 87 বন্দরে একটি ওয়েব সার্ভার চালাচ্ছি I আমি DNS ব্যবহার করতে চাই যাতে www.example.com port 87 পোর্টে যায় I আমি কীভাবে কেবল ডিএনএস ব্যবহার করে এটি সম্পাদন করতে পারি?

উদাহরণ 2

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

উদাহরণ 3

কিছু অ্যাপ্লিকেশন প্রোটোকল বিশেষত হোস্টনাম সচেতনতাকে সমর্থন করে এবং এই তথ্যের উপর ভিত্তি করে বিশেষ পদক্ষেপ গ্রহণের অনুমতি দেয়? সার্ভার ফল্টে এমন আরও কিছু প্রশ্ন রয়েছে যা এর মধ্যে কয়েকটি রয়েছে?

Commandeering:এই প্রশ্নটি মূলত একই সার্ভারে আইআইএস এবং অ্যাপাচি চালানোর বিষয়ে জিজ্ঞাসা করেছিল, তবে ক্লায়েন্টের কাছ থেকে সংযোগ গ্রহণকারী কোনও সার্ভার সফ্টওয়্যারটিতে একই ধারণাটি প্রয়োগ করা যেতে পারে। নীচের উত্তরগুলি ক্লায়েন্টের সাথে সংযোগ স্থাপনের জন্য একটি বন্দর নম্বর নির্ধারণের জন্য ডিএনএস এবং অ্যাপ্লিকেশন প্রোটোকল সহায়তা ব্যবহার করার প্রযুক্তিগত সমস্যা এবং সমাধানগুলি বর্ণনা করে।


উদাহরণস্বরূপ তিনটি সম্পর্কে, পাঠকরা স্বেচ্ছাসেবক প্রোটোকলগুলি হোস্টনাম-সচেতন করার বিষয়ে আমাদের প্রমিত প্রশ্নটিও পরীক্ষা করতে চাইতে পারেন ।
ম্যাডহ্যাটার

উত্তর:


34

আপনি কোনও বন্দরে নির্দেশ করার জন্য ডিএনএস ব্যবহার করতে পারবেন না (যদি না ক্লায়েন্ট এসআরভি রেকর্ড সমর্থন করে, বেশিরভাগ না করে)।

হোস্ট শিরোনাম সহ ওয়েবসাইট এবং প্রোটোকল

এটি করার জন্য আপনাকে কিছু ফ্রন্ট-এন্ড পদ্ধতি রাখতে হবে। সাধারণত আপনি হেডারে অনুরোধ করা সার্ভারের নামের উপর ভিত্তি করে পোর্ট 80 থেকে পোর্টে 80 সংযোগটি ফরোয়ার্ড করার জন্য একটি ফ্রন্ট এন্ড ওয়েব সার্ভার বা একটি উত্সর্গীকৃত প্রক্সি সফ্টওয়্যার ব্যবহার করবেন। কিছু ফায়ারওয়াল হোস্ট শিরোনামের ভিত্তিতেও ফরোয়ার্ড করতে পারে।

এসআরভি রেকর্ডস

কিছু ক্লায়েন্ট এসআরভি রেকর্ডগুলির অনুসন্ধানগুলি সমর্থন করে যা নির্দিষ্ট পরিষেবার জন্য হোস্টনাম এবং সার্ভারের পোর্ট সংখ্যা নির্দেশ করে (যেমন ব্যবহারকারী "উদাহরণ.com" নির্দিষ্ট করে, ক্লায়েন্টটি একটি এসআরভি রেকর্ড দেখে এবং "সার্ভার 101.example.com" পোর্টে পায় "255" "; তারপরে এর সাথে সংযুক্ত)। কিছু ক্লায়েন্ট এটি প্রয়োজন হয় না যেখানে এটি প্রয়োজন হয় না (উদাহরণস্বরূপ একটি নতুন ই-মেইল অ্যাকাউন্ট স্থাপন করার সময় আমার শেষ স্মার্টফোনটি এসআরভি রেকর্ডগুলি সন্ধান করবে)।

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


15

আপনি যখন আপনার ব্রাউজারে http://www.domain.com টাইপ করেন , তখন বোঝা যায় যে HTTP পোর্টটি 80-এ রয়েছে Therefore সুতরাং, আপনার যদি ইতিমধ্যে কোনও পরিষেবা থাকে তবে www.domain.com পোর্ট port 87 এ নির্দেশ করার সরাসরি কোনও উপায় নেই আইআইএসের সেই বন্দরে চলছে।

বলা হচ্ছে, এখানে কয়েকটি "কর্মক্ষেত্র" রয়েছে।

  • কেবলমাত্র http://www.domain.com:87/ ব্যবহার করুন - এটি আপনার সার্ভারে পোর্ট 87 (অ্যাপাচি) এর সাথে সংযুক্ত হবে।
  • আপনি একটি পুনর্নির্দেশ সেট আপ করতে পারেন, যাতে http://www.domain.com/apache www.domain.com:87 এ ফরোয়ার্ড করবে (বা যদি আপনি অভিনবতা পেতে চান তবে প্রক্সি)।
  • আপনি একটি "ভার্চুয়ালহোস্ট" সেট আপ করতে পারেন যাতে www.domain2.com এখনও পোর্ট 80 এ www.domain.com এর সাথে ভাগ করা যায়। আইআইএস পরিবর্তন না করে আপনি এটি সেট আপ করতে পারবেন না।

স্যাম ঠিক বলেছে, বন্দরগুলির ক্ষেত্রে ডিএনএস অজ্ঞাব্য। যে কোনও ধরণের পোর্ট পুনর্নির্দেশকরণ সেই পোর্টটিতে চলমান পরিষেবাটির দ্বারা ঘটে। সুতরাং আপনার কাছে আইআইএস-এর সাথে এটি করার জন্য কিছু করা দরকার, যদি আপনার 80 নম্বর পোর্টে রেখে যাওয়ার বিকল্প না থাকে।

আমি অ্যাপাচিতে মোড_প্রক্সি ব্যবহার করে আপনার পরিস্থিতিটিও পেয়েছি, আইআইএস দিয়ে এটি করার কোনও উপায় আছে কিনা তা নিশ্চিত নই।


ঠিক আছে, তাহলে আইআইএসে প্রক্সি সেট করবেন কীভাবে?
টমাসজ স্মাইকভস্কি

2
যদি এটি আইআইএস 7 হয় তবে আপনি অ্যাপ্লিকেশন রিকোয়েস্ট রাউটিং (এআরআর) ব্যবহার করতে পারেন।
স্কট ফোর্সিথ - এমভিপি

1
স্কট, আপনার কি এআরআর ডকুমেন্টেশনের জন্য একটি ভাল লিঙ্ক আছে?
জ্যাক

12

আমি ভয় করি যে ডোমেনের নামগুলি কেবলমাত্র একটি আইপি ঠিকানার সাথে সম্পর্কিত হতে পারে পোর্টের সাথে নয়।

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

আপনি যদি ওয়েব সার্ভারটি ব্যবহার করেন যা বলে থাকেন তবে আমি নিশ্চিত যে লোকেরা আপনাকে আপনার ইচ্ছামত আপনার সার্ভারটি সেট আপ করতে প্রাসঙ্গিক ডকুমেন্টেশনের দিকে নির্দেশ করতে পারে


এটাই আসল কথা. আমি দুটি ভিন্ন ওয়েব সার্ভার ব্যবহার করছি।
ওমর আবিদ

12

প্রযুক্তিগতভাবে আপনি ডিএনএস সার্ভারগুলিতে আরএফসি 2782- তে সংজ্ঞায়িত হিসাবে এসআরভি রেকর্ডার ব্যবহার করতে পারেন কোন ব্রাউজারগুলিকে কোন সার্ভারের কোনও (সাব-) ডোমেনের জন্য কোন পোর্টগুলিতে HTTP পরিচালনা করে তা বলতে:

_http._tcp.www.example.com.  IN      SRV 0    5      80   www.example.com.
_http._tcp.www2.example.com. IN      SRV 0    5      87   www.example.com.

এটি অনেকগুলি প্রোটোকল / পরিষেবাদির জন্য ভাল কাজ করে, বিশেষত যেখানে এসআরভি রেকর্ডের ব্যবহার প্রোটোকল স্পেসিফিকেশনে ইতিমধ্যে সংজ্ঞায়িত হয়েছে।

তবে এই " হল অফ লজ্জা " অনুযায়ী, বেশিরভাগ ওয়েব ব্রাউজার / ক্লায়েন্ট এটিকে সমর্থন করে না (এইচটিটিপি-র জন্য)। আরো দেখুন কেন করণীয়-ব্রাউজার নয়-থেকে-ব্যবহার SRV-রেকর্ড

মূলত চুক্তিটি হ'ল, এসআরভি HTTP প্রোটোকলে অন্তর্ভুক্ত করা আবশ্যক নয় তাই প্রতিটি ব্রাউজার যে এটি প্রয়োগ করে তা ব্রাউজারগুলির চেয়ে URL গুলি আলাদাভাবে সমাধান করে that

সুতরাং আপনার এটিকে কেবল কিছু alচ্ছিক লোড ভারসাম্য হিসাবে ব্যবহার করা উচিত, যেখানে সামগ্রীর ক্ষেত্রে কোন সার্ভারটি বেছে নেওয়া এটি প্রাসঙ্গিক নয়। "Alচ্ছিক" কারণ এটি খুব লোডের ভারসাম্য রাখবে না যদি কেবলমাত্র কয়েকটি ক্লায়েন্ট এটি প্রয়োগ করে।


6

ডিএনএসের কোনও নির্দিষ্ট পোর্টে পুনর্নির্দেশ করার ক্ষমতা নেই, সমস্ত ডিএনএস যত্নশীল কোনও নামের আইপি অ্যাড্রেস রেজোলিউশন এবং এর বিপরীতে।

কিছু পরিষেবা, যেমন ডায়নামিক আইপি ডিএনএস সরবরাহকারী, যেমন এনও-আইপি এমন একটি সিরিজ সরবরাহ করে যা আপনাকে হোম ডিএনএস পরিষেবাগুলিতে আইপি'র রাউন্ড ব্লকিংয়ের জন্য অনুরূপ কিছু করতে সহায়তা করতে পারে।


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

6

অ-মানক পোর্টে যে কোনও (টিবিটি) পরিষেবা ব্যবহার করতে এবং ইউআরআইতে পোর্ট না লিখতে, প্রত্যেকে আরএফসি 2782-এ সংজ্ঞায়িত এসআরভি রেকর্ড ব্যবহার করতে পারে।

_http._tcp.www.example.com. IN      SRV 0    5      87   www.example.com.

জোনের অন্যান্য সমস্ত HTTP- হোস্ট এখনও ডিফল্ট পোর্ট 80 এ পরিবেশিত হবে


3
নীচের বেশ কয়েকটি বিবৃতি ভুল হিসাবে চিহ্নিত করার জন্য +1, অনুমান হিসাবে - ডিএনএস একেবারে এসআরভি রেকর্ডের মাধ্যমে কোনও পরিষেবা পোর্টকে নির্দেশ করতে পারে। তবে এটি ধরে নিয়েছে যে ক্লায়েন্ট প্রথমে এসআরভি রেকর্ডের জন্য জিজ্ঞাসা করতে জানে।
mcauth

2

সবচেয়ে সহজ উপায়টি একটি বিপরীত প্রক্সি ব্যবহার করে এবং এটি আপনার ওয়েব প্রক্সি হিসাবে সেট করা। আপনি একটি nginxবা এর apacheজন্য কনফিগার করতে পারেন । আমার আগে অতীতে একই সমস্যা ছিল এবং একটি সহজ উপায়ে এ জাতীয় কনফিগারেশন অর্জনের জন্য একটি সরঞ্জাম তৈরি করেছি। এরগো: https://github.com/cristianoliveira/ergo

আমি এটি ব্যবহার করছি এবং মূলত, কবজির মতো কাজ করি :)


0

একই হোস্টে দুটি ওয়েব সার্ভার স্থাপনের জন্য একটি পদ্ধতি হ'ল উভয়কে দুটি পৃথক আইপিভি 6 ঠিকানার উপর 80 পোর্টে শুনতে হবে। আইপিভি officially আনুষ্ঠানিকভাবে উল্লেখ করে যে আপনি কোনও ইন্টারফেসে দুটি ঠিকানা বরাদ্দ করতে পারবেন, এবং পর্যাপ্ত আইপিভি addresses ঠিকানা রয়েছে যা আপনি ঠিকানা ছাড়াই এই কাজটি করতে পারেন।

এটি ভবিষ্যতের প্রমাণ এবং আপনার দুটি ডোমেনের প্রতিটি এএএএ রেকর্ড থাকতে পারে যা বিভিন্ন আইপি ঠিকানাগুলিতে ইঙ্গিত করে, তাই ডোমেনগুলি বিভিন্ন ওয়েব সার্ভারে শেষ হয়।

আপনার যদি একটি একক আইপিভি 4 ঠিকানাও থাকে তবে বিপরীত প্রক্সি চালানোর জন্য আপনি আইপিভি 4 ঠিকানায় 80 পোর্ট ব্যবহার করতে পারেন। কেবলমাত্র আইভিভি 4-র ক্লায়েন্টগুলি আপনার ওয়েব সার্ভার উভয়ই অ্যাক্সেস করতে পারে। বিপরীত প্রক্সি পদ্ধতির এমনকি কাজ করে যদি কিছু ওয়েব সার্ভারের বিপরীত প্রক্সি যেমন একই হোস্টে থাকে এবং কিছু ওয়েব সার্ভার অন্য হোস্টে থাকে।

যেমন একটি সেট-আপে example.orgঠিকানা রয়েছে পারে 192.0.2.1এবং 2001:db8::1যখন example.netঠিকানাগুলি হয়েছে 192.0.2.1এবং 2001:db8::2

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