قم بتثبيت شهادة SSL على Apache Mod_SSL

تكوين أباتشي باستخدام SSL

تفترض الإرشادات التالية أنك ترغب في تشغيل خادم آمن (على المنفذ 443) وخادم عادي (على المنفذ 80). أولاً ، تحتاج إلى تكوين الخادم للاستماع على كلا المنفذين. إما التحرير /etc/apache2/ports.conf (في دبيان ، هذا مدرج في apache2.conf) أو تحرير /etc/apache2/apache2.conf مباشرة لتضمين الخطوط:

استماع 80 استماع 443

المقبل ، تحرير /etc/apache2/sites-enabled/yoursite لاستخدام إعدادات SSL. يعد فصل إعدادات الخادم العادية والآمنة باستخدام VirtualHosts هو أسهل خيار من حيث قابلية الصيانة. سيتم تطبيق أي تكوين خارج أقسام VirtualHosts (مثل تعيين ServerAdmin) على كل من VirtualHosts (وأي أخرى).

ملحوظة: بدءًا من Apache 2.4.8 ، تم إيقاف ممارسة الاحتفاظ بشهادة الخادم وسلسلة الشهادة المتوسطة في ملفات منفصلة. تم توضيح كل من الأساليب الحالية والقديمة في علامات التبويب القابلة للنقر أدناه.
Apache 2.4.8 أو أحدثApache 2.4.7 أو أقل

تتوقع إصدارات Apache 2.4.8 وما فوق أن تكون شهادة الخادم الخاص بك متسلسلة مع أي شهادات وسيطة في ملف واحد. لتنزيل ملف متسلسل من SSL.com ، اختر Nginx رابط التحميل في حساب البوابة الخاص بك:

إنجن إكس

بدلاً من ذلك ، يمكنك ربط شهادتك الحالية والملفات المتوسطة بأمر مثل ما يلي:

القط $ /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

أضف القسم التالي إلى ملف التكوين الخاص بك:

# =================================================== # SSL /TLS الإعدادات # ================================================= = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine على SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key

بعض الملاحظات حول هذا التكوين:

  • SSLEngine يجب تمكين بحيث يستخدم الخادم SSL.
  • DocumentRoot يعين الدليل الجذر لهذا المضيف الظاهري. هذا يعني أنه يمكنك فصل المحتوى الآمن تمامًا عن المحتوى العادي.
  • SSLCertificateFile يجب أن يتم ضبطه على المكان الذي وضعت فيه الملف بشهادة الخادم والسلسلة المتوسطة.
  • SSLCertificateKeyFile يجب أن يتم ضبطه على المكان الذي وضعت فيه ملف المفتاح الخاص.

أضف القسم التالي إلى ملف التكوين الخاص بك:

# =================================================== # SSL /TLS الإعدادات # ================================================= = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine on SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / ssl / private / ca-bundle / العميل. crt

بعض الملاحظات حول هذا التكوين:

  • SSLEngine يجب تمكين بحيث يستخدم الخادم SSL.
  • DocumentRoot يعين الدليل الجذر لهذا المضيف الظاهري. هذا يعني أنه يمكنك فصل المحتوى الآمن تمامًا عن المحتوى العادي.
  • SSLCertificateFile, SSLCertificateChainFile, و SSLCertificateKeyFile يجب تعيينها على المواقع التي تضع فيها شهادتك ، وملفات المفاتيح المتوسطة والخاصة ، على التوالي.

لتشغيل الخادم العادي على المنفذ 80 ، أضف القسم التالي إلى ملف التكوين:

NameVirtualHost *: 80 DocumentRoot "/ var / www / yoursite" # إعداد الدليل الخاص بالمضيف ، والخيارات ، إلخ # من المحتمل تعيين معظم هذه الخيارات خارج أقسام VirtualHosts #.

بعد حفظ ملف التكوين الذي تم تحريره ، أعد تشغيل خادم الويب. إذا كنت قد استخدمت عبارة مرور عند إنشاء شهادتك ، فستحتاج إلى إدخالها عند الطعن.

الاختبار

قم بإنشاء صفحة index.html أساسية في أي مكان يوجد فيه الدليل الجذر لخادم الويب الخاص بك ، إذا لم يكن لديك محتوى بالفعل هناك.

ثم وجه متصفح الويب الخاص بك إلى https://www.yoursite.com. يجب أن ترى اتصال SSL مفتوحًا ويتم تسليم الصفحة. إذا كنت تستخدم شهادة موقعة ذاتيًا ، فسينبثق المستعرض الخاص بك تنبيهًا يحذرك من أنه لا يمكن التحقق من هوية الخادم. يمكنك اختيار عرض الشهادة وقبولها. في حالة استخدام شهادة خارجية ، يجب أن يحدث كل هذا دون تدخل.

تأكد أيضًا من أنه لا يمكنك الوصول إلى المحتوى المحمي باستخدام http: //. إذا حاولت ، يجب أن تحصل على رسالة خطأ.

استكشاف الأخطاء:

إذا لم يكن يعمل بالشكل المتوقع ، فتحقق أولاً من أن خادمك قيد التشغيل بالفعل باستخدام ps -a | grep apache. إذا لم يؤد ذلك إلى إرجاع أي شيء ، فحاول إعادة تشغيله ، وتحقق من رسائل الخطأ على الجهاز.

تحقق أيضًا من تعيين الأذونات على ملفات المفتاح والشهادة بشكل صحيح (انظر أعلاه) ، بالإضافة إلى الأذونات الموجودة في ملف HTML الاختباري والدليل الرئيسي الخاص به.

بعد ذلك ، تحقق من السجلات. يجب عليك التحقق من سجلات الخادم الرئيسية وكذلك سجلات SSL التي قمت بإعدادها في ملف التكوين أعلاه. إذا لم تحصل على أي شيء مفيد ، فحاول تغيير قيمة LogLevel في ملف تهيئة Apache2 إلى "debug" ، وأعد تشغيل Apache2 ، واختبر مرة أخرى. هذا يجب أن يعطي المزيد من بيانات ملف السجل.

إذا كنت تقوم بتشغيل خادم ويب عادي على المنفذ 80 أيضًا ، فحاول جلب صفحة اختبار عبر http: // بدلاً من https: // للمساعدة في تحديد ما إذا كانت المشكلة تتعلق بخادم الويب أو باتصال SSL. لاحظ أنه في الإعداد أعلاه ، يختلف الدليل الجذر لخادم الويب عن http: // و https: // ، لذلك لن تتمكن (أو لا ينبغي عليك!) الوصول إلى نفس المحتوى. إذا كانت صفحة الاختبار الخاصة بك في الدليل http: // تعمل بشكل جيد ، ومع ذلك ، فإن صفحة الاختبار الخاصة بك في الدليل https: // لا تعمل ، فيمكن أن يساعدك ذلك في تحديد المشكلة بدقة.

إذا كانت المشكلة هي اتصال SSL ، فهناك أداة مفيدة s_client، وهي أداة تشخيصية لاستكشاف الأخطاء وإصلاحها TLS/ اتصالات SSL. الاستخدام الأساسي هو: /usr/bin/openssl s_client -connect localhost:443. هناك العديد من الخيارات الأخرى أيضًا ، والتي يمكنك التحقق من الوثائق الخاصة بها. إذا تلقيت رسائل خطأ ، فمن المفترض أن يساعدك هذا في تحديد المشكلة.

شكرًا لاختيارك SSL.com! إذا كان لديك أي أسئلة ، يرجى الاتصال بنا عبر البريد الإلكتروني على Support@SSL.com، مكالمة 1-877-SSL-SECURE، أو فقط انقر على رابط الدردشة في أسفل يمين هذه الصفحة.

اشترك في النشرة الإخبارية SSL.com

لا تفوت المقالات والتحديثات الجديدة من SSL.com

ابق على اطلاع وآمن

SSL.com هي شركة عالمية رائدة في مجال الأمن السيبراني، PKI والشهادات الرقمية. قم بالتسجيل لتلقي آخر أخبار الصناعة والنصائح وإعلانات المنتجات من SSL.com.

نحن نحب ملاحظاتك

شارك في استبياننا وأخبرنا بأفكارك حول عملية الشراء الأخيرة.