X
منشور: 2026-02-07 | مُحدث: 2026-02-09
تثبيت شهادة شهادة SSL على Nginx

Tسيرشدك هذا المقال خلال خطوات تثبيت شهادة شهادة SSL الخاصة بك على Nginx وإعداد إعادة توجيه تلقائية من HTTP:// إلى HTTPS://.

1. رفع الشهادات على الخادم حيث يتم استضافة موقعك

بعد إكمال خطوات إنشاء رمز CSR وتفعيل شهادة SSL، ستستلم ملف مضغوط يحتوي على شهادات Sectigo (التي كانت تعرف سابقًا باسم Comodo) عبر البريد الإلكتروني. بدلاً من ذلك، يمكنك تحميلها من لوحة حساب NiceNic الخاص بك.

ملاحظة: إذا اخترت خادم NGINX عند تفعيل الشهادة، ستستلم ملف مضغوط يحتوي على ملف شهادة بامتداد '.crt'، وملف حزمة سلطة الشهادة (CA) بامتداد '.ca-bundle'.

قم برفع كلا الملفين إلى خادمك بأي طريقة تفضلها، مثل استخدام عميل FTP، على سبيل المثال.

يمكنك أيضًا تحميل ملف الحزمة الخاصة بكل شهادة باتباع التعليمات هنا.

2. دمج جميع الشهادات في ملف واحد

يجب دمج جميع الشهادات (الخاص بك_النطاق.crt و الخاص بك_النطاق.ca-bundle) في ملف '.crt' واحد.

يجب أن تأتي شهادة النطاق الخاص بك أولًا في الملف، تليها سلسلة الشهادات (حزمة CA).

ادخل الدليل الذي رفعت فيه ملفات الشهادة. نفذ الأمر التالي لدمج الملفات:

$ cat الخاص بك_النطاق.crt الخاص بك_النطاق.ca-bundle >> الخاص بك_النطاق_chain.crt

يرجى الملاحظة أنه إذا تم تحميل ملفات الشهادة من حسابك في NiceNic، أفضل أمر لاستخدامه هو:

$ cat الخاص بك_النطاق.crt > الخاص بك_النطاق_chain.crt ; echo >> الخاص بك_النطاق_chain.crt ; cat الخاص بك_النطاق.ca-bundle >> الخاص بك_النطاق_chain.crt

3. إنشاء كتلة خادم Nginx منفصلة أو تعديل ملف التكوين الحالي

لتثبيت شهادة شهادة SSL على Nginx، تحتاج لإظهار الملفات التي يستخدمها الخادم، إما عن طريق a) إنشاء ملف تكوين جديد، أو b) تعديل الملف الحالي.

    a) بإنشاء ملف تكوين جديد للموقع، يمكنك التأكد من عدم وجود مشاكل مع ملف التكوين المنفصل. علاوة على ذلك، سيكون من الأسهل جدًا استكشاف أخطاء التثبيت في حال حدوث أية مشاكل مع التكوين الجديد.

نقترح إنشاء ملف تكوين جديد في هذا المجلد:

/etc/nginx/conf.d

يمكن فعل ذلك عبر هذا الأمر:

sudo nano /etc/nginx/conf.d/Your_النطاق*-ssl.conf

حيث أن Your_النطاق*-ssl.conf هو اسم الملف الذي تم إنشاؤه حديثًا.

بعد ذلك، انسخ والصق أحد كتل الخادم أدناه للمنفذ 443 وحرر المسارات. تأكد من مطابقة اسم الخادم ومسار الجذر في كلا كتلة الخادم للمنفذ 80 وكتلة المنفذ 443. إذا كان لديك أية قيم مهمة أخرى يجب حفظها، انقلها أيضًا إلى كتلة الخادم الجديدة.
    b) عدل ملف التكوين الافتراضي لخادم الويب، والذي يحمل الاسم nginx.conf. يجب أن يكون في أحد هذه المجلدات:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

يمكنك أيضًا استخدام هذا الأمر للعثور عليه:

sudo find / -type f -iname "nginx.conf"

بمجرد العثور عليه، افتح الملف باستخدام:

sudo nano nginx.conf

ثم انسخ والصق أحد كتل الخادم للمنفذ 443 الموضحة أدناه وحرر المسارات وفقًا لكتلة الخادم الخاصة بك على المنفذ 80 (مع مطابقة اسم الخادم، ومسار الجذر، وأية قيم مهمة تحتاجها). بدلاً من ذلك، يمكنك نسخ كتلة الخادم للمنفذ 80، ثم لصقها أدناه، وتحديث المنفذ وإضافة التوجيهات اللازمة المتعلقة بـ شهادة SSL.

اختر كتلة الخادم:

فيما يلي كتلة خادم لإصدار Nginx الخاص بك.

ملاحظة: للتحقق من إصدار Nginx، نفذ هذا الأمر:

sudo nginx -v



ملاحظة: استبدل قيم أسماء الملفات مثل الخاص بك_النطاق_chain.crt في كتلة الخادم بمعلوماتك الخاصة، وعدل المسارات إليها باستخدام/path/to/.


كتلة الخادم لإصدار Nginx 1.14 وما أقل:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/الخاص بك_النطاق_chain.crt;

ssl_certificate_key /path/to/الخاص بك_private.key;

root /path/to/webroot;

server_name الخاص بك_النطاق.com;

}

ملاحظة: يمكنك تحديد عدة أسماء مضيف في هذا التكوين، إذا لزم الأمر، مثل:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/الخاص بك_النطاق_chain.crt;

ssl_certificate_key /path/to/الخاص بك_private.key;

root /path/to/webroot;

server_name الخاص بك_النطاق.com www.الخاص بك_النطاق.your;

}

كتلة الخادم لإصدار Nginx 1.15 وما فوق:

server {

listen 443 ssl;

ssl_certificate /path/to/certificate/الخاص بك_النطاق_chain.crt;

ssl_certificate_key /path/to/الخاص بك_private.key;

root /path/to/webroot;

server_name الخاص بك_النطاق.com;

}

ssl_certificate يجب الإشارة إليها إلى الملف الذي يحتوي على الشهادات المدمجة التي أنشأتها سابقًا.
ssl_certificate_key يجب الإشارة إليها إلى المفتاح الخاص الذي تم إنشاؤه مع رمز CSR.
فيما يلي بعض النصائح حول كيفية العثور على المفتاح الخاص على Nginx.

هام: سواء كان لديك شهادة متعددة النطاقات أو شهادة Wildcard، ستحتاج إلى إضافة كتلة خادم منفصلة لكل نطاق/نطاق فرعي مضمن في الشهادة. تأكد من تحديد النطاق/النطاق الفرعي المعني مع المسارات إلى نفس ملفات الشهادة في كتلة الخادم، كما هو موضح أعلاه.

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

نفذ هذا الأمر للتحقق من صحة صيغة ملف التكوين:

sudo nginx -t



إذا تلقيت أخطاء، تحقق مجددًا من اتباعك للدليل بشكل صحيح. لا تتردد في الاتصال بفريق الدعم لدينا إذا كان لديك أية أسئلة.


إليك النصيحة: للعثور على سجلات الأخطاء لاستكشاف الأخطاء وإصلاحها، فقط نفذ:

sudo nginx -T | grep 'errأو_log'

في حال عدم وجود أي من الملفات المذكورة، أو كانت الملفات معطلة بالتعليق، أو إذا لم يتم تحديد ملفات سجل الأخطاء، يجب التحقق من سجل النظام الافتراضي:

tail /var/log/nginx/errأو.log -n 20

إذا عرض الخادم اختبارًا ناجحًا، أعد تشغيل Nginx بهذا الأمر لتطبيق التغييرات:

sudo nginx -s reload

الآن تم تثبيت شهادة شهادة SSL الخاصة بك. يمكنك التحقق من التثبيت هنا.

ملاحظات هامة:

أحيانًا، بعد تثبيت ملف شهادة SSL الذي تم دمجه باستخدام سطر الأوامر، قد تتلقى رسالة خطأ "Nginx/Apache errأو: 0906D066:PEM routines:PEM_read_bio:bad end line"، في هذه الحالة، يمكن العثور على الحل في دليل المراجع.

مشكلة شائعة أخرى في هذه المرحلة هي رسالة الخطأ "Nginx شهادة SSL: errأو:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch"، يمكنك العثور على المزيد من التفاصيل حولها والطرق المحتملة للحل في هذا المقال.

4. إعداد إعادة التوجيه إلى HTTPS

نقترح عليك تثبيت إعادة التوجيه من HTTP إلى HTTPS. بهذه الطريقة، سيحصل زوار موقعك فقط على الوصول إلى النسخة الآمنة من موقعك.

للقيام بذلك، ستحتاج إلى إضافة سطر واحد إلى ملف التكوين الخاص بكتلة الخادم للمنفذ 80.

نصائح:

يمكنك استخدام أحد الأوامر التالية للبحث عن ملفات التكوين التي تم تمكينها الآن:

sudo nginx -T | grep -iw "configuration file"

sudo nginx -T | grep -iw "include"

المسارات الافتراضية لملف conf هي:

على نظام Linux المبني على RHEL: /etc/nginx/conf.d/default.conf

على نظام Linux المبني على Debian: /etc/nginx/sites-enabled/default

يمكنك فتح الملفات للتحقق من أي منها يحتوي على كتلة الخادم المطلوبة. لهذا، نفذ:

sudo nano name_of_the_file

بمجرد العثور على الملف الذي يحتوي على كتلة الخادم للمنفذ 80 (منفذ HTTP الافتراضي)، أضف السطر التالي:

return 301 https://$server_name$request_uri;

ملاحظة: يجب إدخال قاعدة إعادة التوجيه أعلاه كآخر سطر في كتلة الخادم.

  • return هو التوجيه الأساسي للاستخدام.
  • 301 هو إعادة توجيه دائم (302 هي مؤقتة).
  • https هو نوع المخطط المحدد (صريح بدلاً من المتغير $scheme).
  • $server_name المتغير يستخدم النطاق المحدد في توجيه server_name.
  • $request_uri المتغير يُستخدم لمطابقة المسارات للصفحات/أجزاء الموقع المطلوبة (كل شيء بعد اسم النطاق).
إليك أمثلة لكتل خادم مع إعادة التوجيه إلى HTTPS:

إعادة توجيه دائمة إلى HTTPS

server {

listen 80;

server_name الخاص بك_النطاق.com www.الخاص بك_النطاق.your;

return 301 https://$server_name$request_uri;

}

إعادة توجيه دائمة إلى HTTPS بدون www

server {

listen 80;

server_name الخاص بك_النطاق.com www.الخاص بك_النطاق.your;

return 301 https://الخاص بك_النطاق.com$request_uri;

}

إعادة توجيه دائمة إلى HTTPS مع www

server {

listen 80;

server_name الخاص بك_النطاق.com www.الخاص بك_النطاق.your;

return 301 https://www.الخاص بك_النطاق.your$request_uri;

}

إعادة توجيه مؤقتة إلى HTTPS بدون www

server {

listen 80;

server_name الخاص بك_النطاق.com www.الخاص بك_النطاق.your;

return 302 https://الخاص بك_النطاق.com$request_uri;

}

يمكنك العثور على مزيد من التفاصيل حول خيارات إعادة التوجيه على Nginx هنا.
هل تحتاج مساعدة؟ نحن دائمًا هنا من أجلك. إرسال تذكرة
حقوق النشر © 2006-2026 شركة NICENIC الدولية المحدودة كل الحقوق محفوظة