ماذا عن إمكانية الوصول إلى بيئة التطوير المحلية الخاصة بك عبر HTTPS بدون تحذير SSL?
بصفتك مطورًا ، قد تضطر إلى العمل على العديد من المشاريع والعملاء وتطبيقات الويب. من المتطلبات الأساسية لتطوير تطبيقات الويب اختبار مواقع الويب محليًا على المتصفح أثناء مرحلة التطوير. فرصة كبيرة جدًا لتأمين التطبيق الذي تقوم بتطويره بشهادة SSL / TLS في بيئة الإنتاج.
يوافق على?
ماذا لو كان عليك اختبار بعض الوظائف التي تستفيد من واجهة برمجة تطبيقات الطرف الثالث والتي تتطلب أن يكون الأصل https: //?
يمكنك أن تقول الشهادة الموقعة ذاتيًا ولا يوجد خطأ في ذلك. ولكن هل حاولت الوصول إلى موقع تنفيذ الشهادة الموقعة ذاتيا؟ ستظل تتلقى تحذيرًا معتمدًا على Chrome والمتصفحات الأخرى.
هل ترى غير امن شارة?
ليس جيدًا ، صحيح?
أفضل طريقة للحصول على شهادة SSL صالحة في بيئة التطوير هي من خلال إدارة المرجع المصدق الخاص بك وإمكاناته مع مكيرت. تطبيق سهل يتيح لك الحصول على شهادة صالحة على عنوان الويب الخاص بالتنمية المحلية التالي.
- example.com
- * .example.com
- example.test
- مضيف محلي
- 127.0.0.1
- :: 1
يمكنك تنفيذ mkcert على أنظمة التشغيل macOS و Windows و CentOS و Ubuntu وأنظمة التشغيل الأخرى المستندة إلى UNIX. المثال التالي من أوبونتو.
أولاً ، دعنا نثبت أدوات خدمة أمان الشبكة التي لديها شهادة لإدارة قاعدة بيانات الشهادة.
apt-get update
apt-get install libnss3-tools
قد تحتاج أيضًا إلى التأكد من تثبيت المشروب على الخادم الخاص بك. إذا لم يتم التثبيت باستخدام الأمر التالي.
apt-get install linuxbrew-wrapper
وأخيرا ، تثبيت mkcert باستخدام الشراب.
الشراب تثبيت mkcert
ملاحظة: للتثبيت باستخدام الشراب يجب ألا تكون جذريًا. ويتم تثبيته في /home/$USER/.linuxbrew/bin/mkcert
حيث يكون $ USER هو اسم المستخدم الذي استخدمته للتثبيت
حان الوقت الآن لتثبيت CA المحلي في مخزن الثقة بالنظام.
[البريد الإلكتروني محمي]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert-install
باستخدام المرجع المصدق المحلي في "/root/.local/share/mkcert" ✨
يتم الآن تثبيت المرجع المصدق المحلي في مخزن ثقة النظام! ⚡️
[البريد الإلكتروني محمي]: ~ / mkcert #
وبعد ذلك ، قم بإنشاء شهادة لبيئة التطوير. لنفترض أنك ستحصل على موقع الويب الخاص بك على example.com ويمكنك استخدام الأمر التالي للحصول على الشهادة وملف المفتاح.
[البريد الإلكتروني محمي]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert example.com
باستخدام المرجع المصدق المحلي في "/root/.local/share/mkcert" ✨
إنشاء شهادة جديدة صالحة للأسماء التالية
– "example.com"
الشهادة في "./example.com.pem" والمفتاح في "./example.com-key.pem" ✅
[البريد الإلكتروني محمي]: ~ / mkcert #
عظيم! لدي الآن شهادة صالحة وملفها الرئيسي جاهز للاستخدام على Nginx أو Apache أو خوادم الويب الأخرى.
لنأخذ مثالاً لخادم Apache HTTP. إذا لم يكن كذلك بالفعل ، قم بتمكين وحدة وتكوين SSL.
[البريد الإلكتروني محمي]: / etc / apache2 # a2enmod ssl
النظر في تبعية setenvif ل SSL:
تم تمكين الوحدة النمطية setenvif بالفعل
بالنظر إلى mime التبعية لـ SSL:
تم تفعيل وحدة mime بالفعل
النظر في التبعية socache_shmcb لـ SSL:
تمكين الوحدة socache_shmcb.
تمكين الوحدة النمطية SSL.
راجع /usr/share/doc/apache2/README.Debian.gz حول كيفية تكوين SSL وإنشاء شهادات موقعة ذاتيًا.
لتنشيط التكوين الجديد ، تحتاج إلى تشغيل:
إعادة تشغيل systemctl apache2
[البريد الإلكتروني محمي]: / etc / apache2 #
كما هو مقترح ، أعد تشغيل Apache.
عند هذه النقطة ، إذا كنت netstat ستلاحظ أن Apache قد بدأ بمنفذ آمن 443.
[البريد الإلكتروني محمي]: / etc / apache2 # netstat -anlp | grep 443
tcp6 0 0 ::: 443 ::: * الاستماع 11616 / أباتشي 2
[البريد الإلكتروني محمي]: / etc / apache2 #
لكننا لم ننتهي بعد. لقد بدأت مع الشهادة الافتراضية (الوهمية) ونحتاج إلى استبدال ذلك.
قم بتعديل default-ssl.conf باستخدام ملف vi واستبدل ما يلي بالمسار الذي قمت بإنشاء ملف المفتاح والشهادة فيه.
SSLCertificateFile /root/mkcert/example.com.pem
SSLCertificateKeyFile /root/mkcert/example.com-key.pem
قبل إعادة تشغيل Apache ، يجب عليك أيضًا معالجة ملف hosts لـ example.com حتى يتم حله إلى المضيف المحلي بدلاً من الإنترنت. بمجرد الانتهاء ، أعد تشغيل خادم Apache HTTP وادخل إلى example.com – سترى شهادة موثوقة يتم تقديمها.
استنتاج
قد يكون هذا مفيدًا للحصول على شهادة موثوق بها في البيئة المحلية. ما ورد أعلاه مجرد مثال على example.com ولكن يمكنك القيام به لاستضافة localhost وغيرها. إذا كنت بحاجة إلى مُوقِّع خارجي لإصدار شهادة ، فراجع كيفية الحصول عليها مجانًا.