আমার কাছে একটি এনগিনেক্স সার্ভার রয়েছে প্রায় অর্ধ ডজন বিভিন্ন ওয়েবসাইট পরিবেশন করে। এটি এমন একটি লিনোডে চলছে যা সদ্য আইপিভি 6 দেশীয় সমর্থন পেয়েছে (ডালাস ডেটা সেন্টার), এবং আমি ডুয়াল স্ট্যাক অপারেশনের জন্য আমার বেশিরভাগ সাইটগুলি কনফিগার করার চেষ্টা করছি। আমি প্রথমটি পেয়েছি এবং আইপিভি 6-কেবলমাত্র সাবডোমেন ব্যবহার করে চলছি:
server {
listen [::]:80 ipv6only=on;
listen 80;
server_name example.com ipv6.example.com;
root /var/www/example.com/htdocs;
#More stuff, including PHP, WordPress
}
এটি দুর্দান্ত কাজ করে - উদাহরণ.কম আইপিভি 4-শুধুমাত্র (এখনকার জন্য), এবং ipv6.example.com আইপিভি 6-কেবল (প্রাথমিকভাবে পরীক্ষার উদ্দেশ্যে রয়েছে)। আমি পারি ping6 ipv6.example.com
, এমনকি wget ipv6.example.com
কোনও ঘাম না ভাঙিয়েও - এটি অনেকটা আনন্দদায়ক ব্যথা-মুক্ত ছিল ( ipv6only=on
যুক্তি এবং দ্বৈত listen
নির্দেশের প্রয়োজনীয়তার সাথে এনজিন্স ভার্চুয়াল হোস্টগুলিকে যেভাবে বেঁধে রেখেছে তার সাথে "গোটচা" খুঁজে পাওয়ার পরে )।
যাইহোক, আমি এখন আমার অন্যান্য ডোমেনগুলি সমর্থন করার জন্য এটি প্রসারিত করার চেষ্টা করছি, স্ট্যাটিক.এক্স্পেল.কম. দিয়ে শুরু করে; যখন আমি উপরের মত একই পন্থাটি গ্রহণ করি, যদিও ( যুক্তি listen
সহ দ্বৈত নির্দেশাবলী ipv6only=on
), এনজিনেক্স পুনরায় চালু করার সময় আমি নিম্নলিখিত ত্রুটিটি পাই:
* Starting Nginx Server...
nginx: [emerg] a duplicate listen options for [::]:80 in /etc/nginx/sites-enabled/example.com.conf:3
দেখে মনে হচ্ছে যে আইপিভি 6-র জন্য বাইন্ডিংয়ের Nginx- র পদ্ধতিটি নাম ভিত্তিক ভার্চুয়াল হোস্টের অনুমতি দেয় না? আমাকে কী আমার হোস্টের অতিরিক্ত আইপিভি 6 ঠিকানা পেতে হবে (সমস্যা নয়) এবং আইপিভি 6-তে আইপিভি 6-তে নামভিত্তিক ভার্চুয়াল হোস্টিং আইপিভি 4-র সাথে ব্যবহার করতে হবে? বা আমি কি এমন একটি সমাধান মিস করছি যা আমার কনফিগারেশনগুলিকে উভয় স্ট্যাকের সাথে সামঞ্জস্য রাখতে সক্ষম করবে?
আমি আশা করছিলাম যে আমার সাইটটি সম্পূর্ণরূপে আইপিভি 6 স্ট্যাকের সাথে বিশ্ব আইপিভি 6 দিবসের জন্য যথাসময়ে রয়েছে , তবে যতক্ষণ না আমি এটিকে দ্রুত সাফ না করতে পারি আমি প্রস্তুত থাকতে পারি না। কোনও ব্যবহারিক দৃষ্টিকোণ থেকে কোনও বড় বিষয় নয় - আমার কোনও সাইটই কোনও কল্পনা দ্বারা কোনও "প্রধান সংগঠন" হিসাবে যোগ্যতা অর্জন করে না - তবে আমার জিকের জমাটি সংরক্ষণ করতে আমাকে সহায়তা করুন!
যুক্ত করতে সম্পাদিত:
@ কলবিজ্যাকের উত্তরের জন্য ধন্যবাদ, আমার কাছে এখন সম্পূর্ণরূপে কার্যকরী দ্বৈত-স্ট্যাক ওয়েব সার্ভার রয়েছে। কেবল স্বচ্ছতার স্বার্থে, তিনি আমাকে যে সমাধান দিয়েছেন তা আমি সম্পাদনা করছি যাতে প্রত্যেকে উত্তর কী তা স্পষ্ট দেখতে পাবে।
আমার ডিফল্ট ক্যাচল ভোস্টের নিম্নলিখিত listen
নির্দেশাবলী রয়েছে:
listen 80 default_server;
listen 8080 default_server;
listen [::]:80 default_server ipv6only=on;
listen [::]:8080 default_server ipv6only=on;
অর্ডারটি গুরুত্বপূর্ণ কিনা তা আমি জানি না, তবে এটি রয়েছে। তারপরে, প্রতিটি অতিরিক্ত ভোস্টের নিম্নলিখিত listen
নির্দেশাবলী থাকে:
listen 80;
listen [::]:80;
(বা তার পরিবর্তে সেই বন্দরে যা শুনেছে তার জন্য 8080।) এখানে গুরুত্বপূর্ণ অংশটি ডিফল্ট ভোস্টের listen
নির্দেশাবলী ব্যতীত সকলের জন্য অতিরিক্ত কোনও যুক্তির মোট অভাব বলে মনে হচ্ছে - অর্থাত্ কোনও পুনরাবৃত্তি নয় ipv6only=on
।
আবার, সমাধানের জন্য @ কলবিজ্যাককে অনেক ধন্যবাদ!
ipv6only=on
। অন্য সব কিছু অবশ্য একইরূপ থেকে রইল, এর জন্য ধন্যবাদ!