সার্ভারনাম এবং সার্ভারএলিয়াস কীভাবে কাজ করে?


62

এটি ভার্চুয়াল হোস্ট কনফিগারেশনের নীচের অংশ যা সম্পর্কে আমার আরও স্পষ্টতা দরকার:

<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin example@example.com
  ServerName  141.29.495.999
  ServerAlias example.com
...

এটি এবং উদাহরণ কনফিগারেশন, বর্তমানে আমার যা আছে তার অনুরূপ (এই মুহুর্তে আমার কোনও ডোমেন নাম নেই)।

<VirtualHost *:80>- 80 টি IP তে বন্দরটিতে করা সমস্ত HTTP অনুরোধের জন্য নিম্নলিখিত সেটিংসকে মঞ্জুরি দিন যা এই সার্ভারের সাথে যোগাযোগ করা যেতে পারে। উদাহরণস্বরূপ, যদি সার্ভারটি একাধিক আইপিতে অ্যাক্সেস করতে পারে তবে আপনি এই নির্দেশকে উভয়ের পরিবর্তে কেবল একটিতে সীমাবদ্ধ করতে পারেন।

ServerName- এইচটিটিপি অনুরোধের হোস্ট অংশটি যদি এই নামের সাথে মেলে, তবে অনুরোধটির অনুমতি দিন। সাধারণত এটি একটি ডোমেন নাম যা কোনও আইপি-তে মানচিত্র করে তবে এই ক্ষেত্রে এইচটিটিপি অনুরোধ হোস্টকে অবশ্যই এই আইপিটির সাথে মেলে।

ServerAlias - সার্ভারের দ্বারা বিকল্প নাম গ্রহণ করা হয়েছে।

আমার জন্য বিভ্রান্তিকর অংশটি হ'ল উপরের দৃশ্যে, যদি আমি সেট করে ServerAlias mytestname.comএবং তারপরে কোনও এইচটিটিপি অনুরোধ mytestname.comকরি তবে এটি কাজ করার জন্য কোনও ডিএনএস রেকর্ড থাকতে হবে যেটি সার্ভারের আইপিটিতে কাজ করবে? কোন ক্ষেত্রে, সার্ভারএলিয়াস কি কেবলমাত্র মূলত এক্সট্রা সার্ভারনাম এন্ট্রি রয়েছে?

বলুন আমার এমন একটি ডিএনএস এন্ট্রি ছিল foobar.com = 141.29.495.999তবে তারপরে আমার ছিল ServerName = 141.29.495.999এবং ServerAliasখালি ছিল, তার মানে কি foobar.com ডান আইপিতে সমাধান হয়ে যায়, কারণ foobar.com গ্রহণ করার কোনও রেফারেন্স নেই ServerNameবা ServerAlias?

অথবা অন্যকিছু. মানুষ আমি বিভ্রান্ত।


1
আপনি ২ য়-শেষ অনুচ্ছেদে কিছু শব্দ ভুলে গেছেন। :-)
ThatGraemeGuy

উত্তর:


105

এইভাবে ভেবে দেখুন:

ডিএনএস হল ফোন ডিরেক্টরি / হলুদ পৃষ্ঠা। যখন কেউ আপনার ফোনে কল করতে চায়, তারা আপনার নাম সন্ধান করতে পারে এবং আপনার ফোন নম্বর পেতে পারে এবং সেই ফোনটিতে কল করতে পারে। ডিএনএস একই কাজ করে তবে কম্পিউটারগুলির জন্য - যখন কেউ যেতে চায় www.example.comতারা আইপি ঠিকানার জন্য ডিএনএসকে জিজ্ঞাসা করে এবং তারপরে তারা সেই আইপি ঠিকানাটি থাকা কম্পিউটারের সাথে যোগাযোগ করতে পারে। সমাধানের অর্থ এটাই । আইপি অ্যাড্রেস সমাধান করার সাথে অ্যাপাচি এর সাথে কিছুই করার নেই; এটি কঠোরভাবে একটি ডিএনএস প্রশ্ন।

ServerNameএবং ServerAliasআরো একটি কোম্পানির অভ্যন্তরীণ ফোন তালিকা ভালো হয়। আপনার ওয়েবসারভারটি স্যুইচবোর্ড; এটি সার্ভারে সমস্ত আগত সংযোগ গ্রহণ করবে। তারপরে ক্লায়েন্ট / কলার তাদের বলবে যে তারা কী নামটি সন্ধান করছে এবং কীভাবে এই নামটি পরিচালনা করতে হবে তা এটি অ্যাপাচি কনফিগারেশনে দেখবে।

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

ইটিএ: সুতরাং, একটি সাধারণ সংযোগের জন্য ধাপে ধাপ:

  1. আপনি http://www.example.comআপনার ব্রাউজারে টাইপ করুন।
  2. আপনার কম্পিউটারটি তার ডিএনএস রেজোলভারকে জিজ্ঞাসা করে যখন এটি কথা বলতে চাইলে কোন আইপি ঠিকানাটি ব্যবহার করা উচিত www.example.com
  3. আপনার কম্পিউটারটি সেই আইপি ঠিকানার সাথে সংযুক্ত রয়েছে এবং বলে যে এটি কথা বলতে চায় www.example.com(এটি Host:HTTP- র শিরোনাম)।
  4. ওয়েবসভারটি এর কনফিগারেশনের বিষয়বস্তুর জন্য অনুরোধটি দিয়ে কী করবেন তা নির্ধারণের জন্য নজর রাখে www.example.com। নিম্নলিখিত যে কোনও একটি ঘটতে পারে:
    • www.example.comএকটি হিসেবে তালিকাভুক্ত করা হয় ServerNameবা ServerAliasএকটি জন্য VirtualHost- যদি তাই হয়, তাহলে এটি কনফিগারেশন যে VirtualHost জন্য সামগ্রী প্রদান করা ব্যবহার করবে।
    • সার্ভারটির কোনও ভার্চুয়ালহোস্টগুলি মোটেই নেই - যদি তা হয় তবে তা সামগ্রী সরবরাহ করার জন্য এটি তার httpd.conf এ কনফিগারেশনটি ব্যবহার করবে।
    • সার্ভারটির ভার্চুয়ালহোস্ট রয়েছে তবে সেগুলির কোনওটিতে www.example.comতালিকাভুক্ত নেই - যদি তা হয় তবে তালিকার প্রথম ভার্চুয়ালহোস্ট সামগ্রী সরবরাহ করতে ব্যবহৃত হবে।

সুতরাং, যদি কোনও HTTP অনুরোধের হোস্ট অংশটি হয় www.example.com, ডিএনএস সেই নামের জন্য আইপি ঠিকানাটি সমাধান করবে, এবং এইচটিটিপি অনুরোধের হোস্ট অংশটি আসলে একটি আইপি হবে; সার্ভারে পৌঁছনোর পরে, Apache জানতে করবে অনুরোধ চাইলেন www.example.comএবং সেখানে একটি যদি ServerNameবা ServerAliasযে ডোমেইন নামের জন্য নির্দেশ, এটা ডকুমেন্ট রুট পরিবেশন করতে পারেন?
এনজেপি

না - এইচটিটিপি অনুরোধ অংশটি এখনও হোস্টের নাম। আমি আরও কিছু স্পষ্ট করব।
জেনি ডি

The server has VirtualHosts but www.example.com isn't listed in any of them - if so, the first Virtualhost in the list will be used to deliver the content.। আমি এটি পরীক্ষা করেছি। এটি ঠিক আছে তবে আমি নিশ্চিত নই যে এটি প্রথম ভার্চুয়ালহোস্ট। তোমার তথ্যের জন্য ধন্যবাদ. +1
এসএমমৌসভি

19

আপনি যদি সার্ভারনামটি সংজ্ঞায়িত না করেন তবে অ্যাপাচি 2 এটি / ইত্যাদি / হোস্ট থেকে অনুমান করার চেষ্টা করবে। সার্ভারএলিয়াস .চ্ছিক। সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে হয়

ServerName example.com
ServerAlias www.example.com

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

192.168.0.12 example.com
192.168.0.12 www.example.com

0

আমি এই বিষয়ে সরকারী ডকুমেন্টেশনটি পড়ার জন্য দৃ strongly়ভাবে পরামর্শ দেব: https://httpd.apache.org/docs/2.4/vhosts/name-based.html

এটিতে বলা হয়েছে "যদি সর্বাধিক নির্দিষ্ট ম্যাচের আইপি ঠিকানা এবং পোর্ট সংমিশ্রণ সহ ভার্চুয়াল হোস্টগুলির সেটে কোনও মিল নেই সার্ভারনাম বা সার্ভারএলিয়াস পাওয়া যায় না, তবে প্রথম তালিকাভুক্ত ভার্চুয়াল হোস্ট যা মেলে তা ব্যবহার করা হবে।" । সুতরাং আপনার ক্ষেত্রে যদি আপনি "foobar.com" অ্যাক্সেস করেন তবে প্রথম ভার্চুয়ালহস্ট এন্ট্রি যিনি কোনওভাবে আইপি 141.29.495.999 এর সাথে মিলে যায় তা httpd ব্যবহার করবে

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

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