Linux

إنشاء موقع ويب باستخدام Nginx وشهادة SSL مجانية (Let's Encrypt)

من الصفر إلى موقع ويب يعمل عبر HTTPS في عشر دقائق: Nginx، ونطاقك، وشهادة من Let's Encrypt تتجدد تلقائيًا.

وقت القراءة: 1 دآخر تحديث: 19 أكتوبر 2026

قبل أن تبدأ، يجب أن يشير نطاقك إلى عنوان IP الخاص بخادم VPS عبر سجل A (طريقة ذلك). فمن دون ذلك، لا يمكن إصدار الشهادة. في الأمثلة، النطاق هو mydomain.com.

1. ثبّت Nginx وافتح المنافذ

apt install -y nginx
ufw allow 'Nginx Full'

إذا فتحت عنوان IP الخاص بخادم VPS في المتصفح، فسترى صفحة ترحيب Nginx.

2. موقعك

mkdir -p /var/www/mydomain
echo '<meta charset="utf-8"><h1>It works!</h1>' > /var/www/mydomain/index.html

أنشئ الملف /etc/nginx/sites-available/mydomain:

server {
    listen 80;
    server_name mydomain.com www.mydomain.com;
    root /var/www/mydomain;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
ln -s /etc/nginx/sites-available/mydomain /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

يتحقق nginx -t من عدم وجود أخطاء قبل تطبيق أي شيء.

3. شهادة SSL

apt install -y certbot python3-certbot-nginx
certbot --nginx -d mydomain.com -d www.mydomain.com

سيطلب منك بريدًا إلكترونيًا (لتنبيهك إذا حدث خلل) وأن توافق على الشروط. يضبط Certbot إعدادات Nginx بنفسه، بما في ذلك إعادة التوجيه من HTTP إلى HTTPS.

4. التجديد التلقائي

تدوم الشهادات 90 يومًا، ويجدّدها certbot تلقائيًا. تحقّق من أن التجديد سيعمل:

certbot renew --dry-run

إذا حدث خلل

  • لا يستطيع Certbot التحقق من النطاق: تأكّد بالأمر nslookup mydomain.com من أنه يشير إلى عنوان IP الخاص بك، ومن أن المنفذ 80 مفتوح.
  • Cloudflare: يعمل الأمر أيضًا مع السحابة البرتقالية؛ وإذا واجهت مشكلة عند الإصدار، فاجعل السحابة رمادية، وأصدر الشهادة، ثم أعدها إلى البرتقالي.
  • أخطاء 502: إذا كان Nginx يعمل كوكيل (proxy) لتطبيق ما (Node أو PHP...)، فهذا التطبيق غير مشغّل أو يستمع على منفذ آخر.

مقالات ذات صلة

العودة إلى مركز المساعدة

لم تجد ما تبحث عنه؟

افتح تذكرة من لوحة التحكم وسنرد عليك خلال أقل من 5 دقائق.