অ্যাপাচি নির্দিষ্ট সাইটের জন্য সার্ভারনাম নির্দেশকে সম্মান করছে না


9

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

যেহেতু আমি এটি করেছি, আমার ল্যাপটপ থেকে ডোমেন অ্যাক্সেস করা আমাকে অ্যাপাচের ডিফল্টে নিয়ে যায় "এটি কাজ করে!" পাতা। যদি আমি / etc / apache2 / সাইটগুলি সক্ষম / থেকে 10,000-ডিফল্ট সরিয়ে ফেলি তবে এটি সঠিক সাইটটি প্রদর্শন করে। 'Www।' দিয়ে সাইটে অ্যাক্সেস করার চেষ্টা করা হচ্ছে। উপসর্গটি আমাকে 000- ডিফল্ট সাইট-সক্ষমিত অবস্থায় আছে কিনা তা সঠিক সাইটে নিয়ে যায়।

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

সম্পাদনা করুন - আমার বর্তমান ভার্চুয়ালহোস্ট কনফিগারেশনটি দেখতে এমন দেখাচ্ছে:

<VirtualHost *:80>
    ServerName domain.com
    ServerAlias www.domain.com
    ServerAdmin me@domain.com

    DocumentRoot /srv/www/domain

    ErrorLog /srv/www/domain/logs/error.log
    CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>

সংক্ষিপ্তসার হিসাবে: আমার বেশ কয়েকটি ভার্চুয়ালহোস্ট সেট আপ হয়েছে এবং এটি কেবলমাত্র সঠিকভাবে কাজ করছে না। আমি ঠিক ঠিক http://www.domain.com অ্যাক্সেস করতে পারি , তবে http://domain.com আমাকে অ্যাপাচের ডিফল্টে নিয়ে যায় "এটি কাজ করে!" পাতা। যদি আমি 000-ডিফল্ট কনফিগারটি অক্ষম করি তবে এটি সঠিক পৃষ্ঠাটি দেখায়। এটি কেবল তখনই ঘটতে শুরু করল যখন আমি সার্ভারের হোস্টনামটি ডোমেইন ডট কম এ সেট করেছিলাম এবং সার্ভারের বাহ্যিক আইপি ঠিকানায় ডোমেন ডট কমকে / ইত্যাদি / হোস্টগুলিতে একটি লাইন যুক্ত করেছি। আমি যদি সম্ভব হয় তবে সেগুলি ছেড়ে যেতে চাই।

সম্পাদনা: আমি "অ্যাপাচি 2: খারাপ ব্যবহারকারীর নাম {{APachE_RUN_USER}" দেওয়ার apache2ctl -Sপরে আমি দৌড়ে /usr/sbin/apache2 -Sএসেছি। এখানে ফলাফল:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server domain.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
         port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
         port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK

ডোমেইন ডট কম কী সার্ভারনাম হিসাবে মূল httpd.conf ফাইলে ব্যবহার হচ্ছে? বা apache2ctl.conf আপনি উবুন্টু ব্যবহার করছেন বলে মনে হচ্ছে যাতে এটির নামটি পৃথক হতে পারে।
প্রিক্স

উত্তর:


12

অন্য দিন এই প্রশ্নটি হারিয়েছেন।

আপনার যখন সার্ভারনাম উপাদান ছাড়াই <ভার্চুয়ালহোস্ট> ধারক থাকে, তখন এটি ডিফল্ট হোস্টনেম ব্যবহার করবে। 000-ডিফল্ট হিসাবে সম্ভবত একটি সার্ভারনাম উপাদান নেই এবং এটি অন্তর্ভুক্ত করা প্রথম বর্ণানুক্রমিক কারণেই এটি হোস্টনাম.কমের উত্তর দেয় এবং আপনার স্পষ্টত ঘোষিত হোস্টনামটি কাজ করতে দেয় না।


আমি দেখছি, কোন উপায় ঠিক করতে? আমি ডিফল্ট কনফিগারেশনটি যেকোন অপ্রচলিত ডোমেনগুলি পরিচালনা করতে চাই, তবে আমি এটি নির্দিষ্ট ডোমেনটি পরিচালনা করতে চাই না।
জন ডেব

এটিকে কনফিগারেশনে ব্যবহৃত অন্য একটি ডোমেন দিন, বা এটি zzz-default নামকরণ করুন যাতে এটি সর্বশেষ বলা হয়।
কর্মফল

ঠিক আছে, আমার মনে হয় আমি এখনই এটি সব বুঝতে পারি। আমি zzz- ডিফল্ট চেষ্টা করেছিলাম তবে এটি আমি যে সঠিকভাবে চাইছিলাম তা নয়। ServerName example.comডিফল্ট কনফিগারেশনে সেট করা দুর্দান্ত কাজ করে। ধন্যবাদ!
জন ডেব

4

আপনার কোনও নাম ভার্চুয়াল হোস্ট *: 80 কোথাও রয়েছে?

চেষ্টা করুন:

/usr/sbin/apache2 -S

এটি আপনাকে জানাবে যে কীভাবে অ্যাপাচি কনফিগার ফাইলটি পার্স করছে। আপনার কি এমন কনফিগারেশন রয়েছে যাঁর আসল আইপি রয়েছে বা সকলের * আছে? আপনার কি অনুপস্থিত: 80? অ্যাপাচি সেগুলি মেশানো পছন্দ করে না।

আপনার কি কোনও সার্ভারনাম ডোমেন.কম বা সার্ভারআলিয়াস ডোমেন.কম ডিফল্ট আছে?


হ্যাঁ, আমি আমার /etc/apache2/posts.conf এ পেয়েছি। আমি প্রশ্নের সাথে একটি সংক্ষিপ্তসার যুক্ত করব যা আশা করি এটি আরও স্পষ্ট করে তোলে।
জন দেব

আমার 000-ডিফল্ট কনফিগারেশনটি স্পর্শকৃত নয়, এতে কোনও সার্ভারনাম বা সার্ভারএলিয়াস নির্দেশ নেই।
জন দেব

নাম ভার্চুয়ালহোস্ট অবমূল্যায়িত হয়েছে।
স্যাম

1

ভার্চুয়ালহোস্ট নির্দেশিকায় সার্ভারনাম এবং সার্ভারএলিয়াস পরীক্ষা করুন:

<VirtualHost *:80>
ServerName domain
ServerAlias www.domain.com
ServerAlias *.domain.com
</VirtualHost> 

পড়ুন: http://httpd.apache.org/docs/2.2/mod/core.html#serralias , http://httpd.apache.org/docs/2.2/vhosts/


মূলত এখন কীভাবে জিনিসগুলি সেট আপ করা হয়। আমি প্রশ্নে আমার কনফিগারেশন পোস্ট করেছি।
জন দেব

0

এটি কাজ করেছে:

<VirtualHost *:80>
    DocumentRoot /var/www/www.mydomain.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
</VirtualHost>

যখন আমার একটি টাইপ ছিল, এটি কার্যকর হয়নি (সার্ভারনামের নির্দেশিকা দু'বার):

<VirtualHost *:80>
    DocumentRoot /var/www/www.mydomain.com
    ServerName mydomain.com
    ServerName www.mydomain.com
</VirtualHost>

আমার যখন সার্ভারনামের নির্দেশিকা দু'বার ছিল, তখন এটি তালিকাভুক্ত প্রথম সাইটটিতে সমাধান করতে থাকে (এখানে দেখানো হয়নি)।

আশা করি এটি কারও সাহায্য করবে ...


0

আমারও অনুরূপ সমস্যা ছিল এবং এটি স্পষ্ট করে প্রধান httpd.conf ফাইলে একটি সার্ভারনাম সেট করে ঠিক করেছিলাম, অ্যাপাচিটিকে স্বয়ংক্রিয়ভাবে এটি চিহ্নিত করার পরিবর্তে। আমি ধরে নিয়েছি যে অ্যাপাচি যা সিদ্ধান্ত নিয়েছে তা আমার ভোস্টের (একইরূপে সংজ্ঞায়িত) একই ছিল, তাই ডিফল্টটি "জিতেছে", ভোস্ট সেটিংকে ওভাররাইড করে।

আমি কেবলমাত্র মেশিনের একটি হোস্টনামে httpd.conf সার্ভারনাম সেট করেছি, আমি কখনও ওয়েবপৃষ্ঠাগুলি পরিবেশন করব না।

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