كيفية تثبيت الشهادة يدويًا SSL لموقع الويب مفيد جدًا عندما يكون لدينا موقع ويب مستضاف بدون cPanel / VestaCP. الدورة التعليمية هو لـ NGINX والوصول إلى "الجذر" مطلوب لتكوينه HTTPS.
المحتوى
كنت أقول في مقالة الشهر الماضي كما تحولت المزيد والمزيد من المواقع إلى اتصالات آمنة HTTPS وأن فايرفوكس الكم هو أول مستعرض لبدء مواقع هتب ذات الصفحات الحمراء باعتبارها غير آمنة للمستخدمين.
ترك جانبا الفكرة التي بدأت تترسخ في أذهان الكثيرين ، مثل المواقع دون HTTPS ستكون غير آمنة ومليئة بالفيروسات ومن لديهم HTTPS نظيف تمامًا (فكرة خاطئة تمامًا بالمناسبة)، يضطر العديد من مسؤولي الخوادم والمواقع إلى إجراء هذا الانتقال من HTTP إلى البروتوكول HTTPS.
الانتقال من بروتوكول HTTP في HTTPS ينطوي على شراء أ شهادة SSL أو استخدام الشهادة المقدمة مجانا من قبل المشروع دعونا تشفيربعد شراء الشهادة SSLوينبغي أن يكون مثبتة على الخادمثم تم تكوين الموقع إلى التبديل من http:// إلى https://.
كيفية تثبيت الشهادة يدويًا SSL (HTTPS Connection) لموقع ويب مستضاف على خادم NGINX بدون cPanel أو VestaCP
دعونا نرى كيفية تثبيت الشهادة خطوة بخطوة SSL على خادم مع NGINX.
المستخدمين وحة التحكم أو VestaCP لديهم في متناول أيديهم في واجهة إدارة الحقول المخصصة حيث يمكنهم وضع وتثبيت شهادات SSL. بالنسبة للمستخدم الذي يتوفر فقط سطر الأوامر من وحدة تحكم الخادم SSH، الأمور تعقيدا قليلا. وسوف تضطر إلى القيام به تحميل إلى الشهادات si تكوين نجينكس إلى التحول من HTTP إلى HTTPS.

1. إنشاء CSR (طلب توقيع الشهادة)
تقوم بتسجيل الدخول إلى الخادم الذي يتم استضافة موقع الويب الذي تريد تنشيطه عليه HTTPS وتنفيذ سطر الأوامر التالي. ويفضل أن يكون ذلك في /etc/nginx/ssl.
openssl req -new -newkey rsa:2048 -nodes -keyout numedomeniu.key -out numedomeniu.csr
ويفضل أن يكون اسم الملفات .key و .crt لوضع اسم المجال الذي ستستخدمهم من أجله. في حال كنت ستستخدم عدة مع مرور الوقت ، تعرف على أي واحد ومن أين هو.
أخيرًا ، في المجلد حيث تم تنفيذ سطر الأوامر ، ستحصل على ملفين. domainname.csr و domainname.key ،
2. شراء شهادة SSL واحصل على ملفات .crt و .ca-bundle.
في حالتنا اشتريت إيجابيSSL شهادة متعددة المجالات من COMODOبواسطة NAMECHEAP.COM. بعد عملية الشراء ، ستتلقى بريدًا إلكترونيًا يجب أن تقوم فيه بتنشيط الشهادة SSL. أدخل في طلب التحقق اسم المجال الذي تستخدم الشهادة من أجله والبيانات الأخرى المدرجة في النموذج. سيطلب منك الدخول أيضًا رمز المسؤولية الاجتماعية للشركات ولدت أعلاه. يمكنك العثور عليه بوضوح في ملف "domainname.csr". يركض "عدد القطلتتمكن من نسخ المحتوى.
في النهاية سوف يطلب منك أن تفعل ذلك التحقق من اسم النطاق التي تستخدم الشهادة. لديك المزيد طرق التحقق. أبسط وأسرع واحد هو على عنوان البريد الإلكتروني الذي يتم إجراؤه بواسطة اسم النطاق.
بمجرد اجتياز هذه الخطوة ، يجب أن تتلقى رسالة بريد إلكتروني في غضون بضع دقائق يتم فيها إرفاق أرشيف يحتوي على ملفين. شهادة SSL (113029727.crt على سبيل المثال) وملف مثل 113029727.ca-bundle.
3. تحميل ملفات الشهادات إلى الخادم عبر FTP / SFTP.
قم بتحميل الملفات من النقطة 2 إلى الخادم في نفس المكان حيث توجد لديك تلك الموجودة في النقطة 1 وقم بدمج محتوى الملفات: domainname.csr و 113029727.ca-bundle في ملف واحد. على سبيل المثال ، ssl-domain.crt.
أخيرًا ، في الملف الذي تم إنشاؤه حديثًا ، ssl-domain.crt يجب أن يكون ثلاثة رموز الشهادة، أول كائن في الملف 113029727.crt.
4. تكوين NGINX من أجل HTTPS - اضافة الشهادات SSL.
الخطوة التالية هي ل تكوين NGINX ل HTTPS.
على افتراض أن لديك بالفعل تكوينه ل هتب، لديك فقط لإضافة السطور التالية إلى ملف التكوين نجينكس المجال:
server {
listen 80;
server_name numedomeniu.tld www.numedomeniu.tld;
rewrite ^ https://$server_name$request_uri permanent;
}
server {
listen 443 ssl;
server_name numedomeniu.tld www.numedomeniu.tld;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_certificate /etc/nginx/ssl/ssl-domeniu.crt;
ssl_certificate_key /etc/nginx/ssl/numedomeniu.key;
ssl_prefer_server_ciphers on;
على الخطوط "ssl_certificate"و"ssl_certificate_key"عليك أن تمر المسار الدقيق في الملقم إلى الملفين. الخط "rewrite"هو أن تفعل إعادة التوجيه الدائم من http إلى https، لذلك لا يوجد خطر من وجود موقع مكرر على HTTP و HTTPS.
5. تحقق من تكوين NGINX وأعد تشغيله بعد تثبيت الشهادة يدويًا SSL
قبل إعادة تشغيل خدمة nginx ، من الجيد التحقق من ملف nginx.conf.
nginx -t
إذا كان كل شيء على ما يرام مع نتيجة اختبار nginx ، فأعد تشغيل الخدمة.
systemctl restart nginx
أو
service nginx restart
اعتمادًا على نظام إدارة المحتوى الذي تستخدمه على موقع الويب: Wordإذا كنت تستخدم نظام إدارة المحتوى مثل Drupal أو Magento أو Joomla أو Prestashop أو غير ذلك، فسوف تحتاج إلى تكوين قاعدة البيانات والملفات الأخرى للحصول على موقع ويب صالح. HTTPS.
إذا قلنا أن لديك في صفحة ويب صورة يبدأ مسارها بـ "http: //" ، فلن تكون هذه الصفحة صالحة HTTPS، ولن يكون قفل المؤشر موجودًا في شريط عنوان متصفح الويب.