কড়া কথায় বলতে গেলে, এসএসএলকে কাজ করার জন্য আপনার কখনও চেইনের দরকার নেই।
আপনার সর্বদা যা দরকার তা হ'ল একটি SSLCertificateFile
সাথেSSLCertificateKeyFile
শংসাপত্রটি জন্য সঠিক কী সম্বলিত।
সমস্যাটি হ'ল, যদি আপনি অ্যাপাচিকে দেওয়া সমস্তই শংসাপত্র হয়, তবে সংযোগকারী ক্লায়েন্টগুলিকে যা যা দিতে হবে তা হ'ল শংসাপত্র - যা সেই এসএসএল শংসাপত্র সম্পর্কে পুরো গল্পটি বলে না। এটি বলছে, "আমি কারও দ্বারা স্বাক্ষরিত, তবে আমি তাদের সম্পর্কে আপনাকে বলব না"।
এটি সাধারণত সূক্ষ্মভাবে কাজ করে, কারণ বেশিরভাগ ক্লায়েন্ট সিস্টেমে সিএ শংসাপত্রের একটি বৃহত স্টোর রয়েছে (মূল এবং মধ্যবর্তী উভয়) যা বিশ্বাস স্থাপনের জন্য ম্যাচিং স্বাক্ষর সম্পর্কের জন্য এটি পরীক্ষা করতে পারে। তবে, কখনও কখনও এটি কাজ করে না; বেশিরভাগ ক্ষেত্রে আপনি যে বিষয়টিটি চালাবেন তা হ'ল এমন এক ক্লায়েন্ট যা আপনার শংসাপত্রে স্বাক্ষরিত একটি মধ্যবর্তী সিএর জন্য শংসাপত্র রাখে না।
এখানেই চেইন আসে; এটি অ্যাপাচি ক্লায়েন্টকে ঠিক ঠিক সেই বিশ্বাসের সম্পর্কের মতো দেখতে দেয় যা কোনও ক্লায়েন্টকে আপনার শংসাপত্রের মধ্যে শূন্যস্থান পূরণ করতে সহায়তা করে, একটি বিশ্বাসের মূল এবং সেই মধ্যবর্তীটি যা তারা জানে না। চেইনটি আপনার কনফিগারেশনে দুটি উপায়ের মধ্যে অন্তর্ভুক্ত করা যেতে পারে:
- ক্রমযুক্ত
SSLCertificateFile
সার্ভার শংসাপত্রের পরে নতুন লাইনে আপনি যে ফাইলটি সেট করেছেন তার মধ্যে একই এম্বেড করা হয়েছে (মূলটি নীচে থাকা উচিত)। আপনি যদি এটি সেট আপ করেন তবে আপনি SSLCertificateChainFile
ঠিক একই ফাইলটি নির্দেশ করতে চাইবেন SSLCertificateFile
।
SSLCertificateChainFile
নির্দেশে কনফিগার করা একটি পৃথক ফাইলে ; সার্ভারের শংসাপত্র জারি করা সিএ শংসাপত্রটি প্রথমে ফাইলের মধ্যে থাকা উচিত, তারপরে অন্য কোনও ব্যক্তির মুল রুট হওয়া উচিত।
আপনার কাছে এখন শংসাপত্রের ফাইলটি পরীক্ষা করুন - আমি বাজি ধরছি যে এতে চেইন ডেটা অন্তর্ভুক্ত নেই। যা সাধারণত সূক্ষ্মভাবে কাজ করে তবে শেষ পর্যন্ত কিছু ব্রাউজার বা অন্য কোনও সমস্যার কারণ ঘটবে।
/etc/ssl
,/usr/local/etc/ssl
অথবা একটিssl
ওয়েবসাইট থেকে সাব নির্দিষ্ট (যেমন/home/www/example.com/data
ওয়েবসাইট তারপর করেছেনhome/www/example.com/ssl
শংশাপত্র আছে)।