دليل خطوة بخطوة لتمكين HTTPS أو SSL بالطريقة الصحيحة على خادم Apache Tomcat - المنفذ 8443

نشرت: 2021-04-03

لقد مرت 12 عامًا تقريبًا على استخدام Apache Tomcat. أعتقد أنه عندما أتممت مشروعي الأول تحت الصف ، كان على Tomcat الإصدار 1.x الآن هو بالفعل في الإصدار 8.0 . غالبًا ما كنت على اتصال بـ Tomcat Server في حياتي العملية اليومية ، ولا يمكنني العيش بدونها.

لقد نشرنا بالفعل في Crunchify ما يقرب من 40 مقالة على Apache Tomcat . في معظم البرنامج التعليمي ، قمت بتشغيل الخادم على المنفذ 8080 وهو المنفذ الافتراضي الذي تم تكوينه في ملف server.xml .

سننتقل في هذا البرنامج التعليمي إلى جميع الخطوات بالتفصيل حول how to enable HTTPS/SSL on Apache Tomcat Server .

هيا بنا نبدأ:

الخطوة 1. إنشاء Keystore

keytool : سننشئ مفتاحًا آمنًا باستخدام أمر keytool - وهو أداة إدارة المفتاح والشهادة.

أمر:

سيتم إنشاء الملف ضمن مجلد /Users/Shared .

أنا أستخدم نظام التشغيل Mac OS X ، لذا استبدل مسارك وفقًا لذلك إذا كنت تستخدم نظام التشغيل windows. لقد استخدمت كلمة المرور 123456 .

قم بإنشاء crunchify.keystore لإعداد Apache Tomcat HTTPS - نصائح Crunchify

الخطوة 2. إنشاء طلب توقيع شهادة موقعة ذاتيًا

أدخل كلمة المرور: 123456

الخطوه 3. دعنا نتحقق من تشغيل القط الأول على المنفذ 8080 عبر HTTP.

Start خادم tomcat باستخدام الأمر: <tomcat_home> / bin / startup.sh .

تأكد من أنك في موقع مسار القط الصحيح.

اضغط على URL: http://localhost:8080 للتأكد من أن الخادم يعمل.

تأكد من تشغيل Apache Tomcat

الخطوة 4. تحقق الآن من مثيل tomcat على المنفذ 8443 عبر HTTPS.

  • تحقق الآن من المنفذ 8443 (عنوان URL لـ HTTPS / SSL).
  • ضرب URL: https://localhost:8443
  • يجب أن ترى رسالة خطأ. يجب ألا يتم تحميل الصفحة على الإطلاق.

فشل بدء تشغيل خادم Apache Tomcat بدون الشهادة المناسبة

الخطوة 5. قم بتحديث ملف /conf/server.xml

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

  • افتح ملف server.xml الموجود في <tomcat_home>/conf/ وقم بتعديل الإعدادات.
  • في حالتنا هو مجلد /Users/Shared/apache-tomcat-9.0.30/conf .

أضف القسم أدناه مباشرة إلى ملف server.xml:

  • كلمة المرور هنا هي 123456 التي استخدمتها في Step-1 .
  • البروتوكول: HTTP / 1.1

قم بتمكين HTTPS في ملف server.xml لـ Apache Tomcat

احفظ الملف. بعد ذلك سنتوقف ونبدأ Tomcat Server.

الخطوة 6. توقف وابدأ اباتشي تومكات.

  • bash-3.2 $ / المستخدمون/Shared/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2 $ / المستخدمون/Shared/apache-tomcat-9.0.30/bin/startup.sh

الخطوة 7. تحقق من عنوان url وشهادة HTTPS: https: // localhost: 8443

الآن اضغط على عنوان URL الآمن HTTPS مرة أخرى للتحقق من تحميل الصفحة بنجاح.

كروم:

  • بشكل افتراضي ، Chrome Blocks all insecure HTTPS .
  • قم بتمكين Chrome flag لتحميل الشهادات غير الصالحة للموارد التي تم تحميلها من المضيف المحلي
    1. اذهب إلى Chrome
    2. افتح علامة التبويب
    3. النوع: chrome://flags/#allow-insecure-localhost
    4. تمكين العلم من القائمة المنسدلة
    5. أعد تشغيل Chrome

يسمح Google Chrome بالمضيف المحلي غير الآمن - Apache Tomcat

Safari و Mozilla Firefox:

  • Accept invalid certificate error وزيارة الموقع.

يجب أن تشاهد صفحة Apache Tomcat يتم تحميلها عبر HTTPS على المنفذ 8443

قط أباتشي يعمل على المنفذ 8443 عبر HTTPS

أنت كل مجموعة. هل لاحظت red padlock ؟ لا تقلق. لم نشتري شهادة SSL من Verisign أو Comodo.

في بيئة الإنتاج قد لا ترى علامة الصليب الأحمر.

انقر فوق الشهادة في المتصفح وستكون الشهادة الافتراضية الموقعة ذاتيًا valid for 90 يومًا.

تحقق من شهادة Crunchify التي أنشأناها في الخطوة 1

نقطة إضافية:

كيف تتحقق من cert content الخاص بك باستخدام keytool ؟

نتيجة: