تكوين SSL / TLS مع Nginx on Ubuntu

لتكوين SSL / TLS مع Nginx تشغيل Ubuntu ، يمكنك اتباع الخطوات التالية:

الخطوة 1: التثبيت Nginx

إذا لم تكن قد قمت بتثبيته Nginx ، فقم بتشغيل الأوامر التالية لتثبيته:

sudo apt update  
sudo apt install nginx

الخطوة الثانية: قم بتثبيت OpenSSL

إذا لم يكن OpenSSL مثبتًا لديك ، فقم بتثبيته باستخدام الأمر التالي:

sudo apt install openssl

الخطوة 3: قم بإنشاء دليل لملفات شهادة SSL

قم بإنشاء دليل لتخزين ملفات شهادة SSL:

sudo mkdir /etc/nginx/ssl

الخطوة 4: إنشاء شهادات SSL / TLS موقعة ذاتيًا(اختياري)

إذا لم تكن تستخدم شهادات SSL من مرجع مصدق ، فيمكنك إنشاء شهادات موقعة ذاتيًا باستخدام OpenSSL. هذا مفيد لاختبار SSL / TLS في بيئة التطوير. لإنشاء شهادة موقعة ذاتيًا ، قم بتشغيل الأوامر التالية:

cd /etc/nginx/ssl  
sudo openssl genrsa -out server.key 2048  
sudo openssl req -new -key server.key -out server.csr  
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  

الخطوة 5: قم بالتكوين Nginx لاستخدام SSL / TLS

افتح Nginx ملف التكوين لموقع الويب الذي تريد تأمينه:

sudo vi /etc/nginx/sites-available/your_domain

أضف الأسطر التالية إلى ملف التكوين لتمكين SSL:

server {  
    listen 80;  
    server_name your_domain.com www.your_domain.com;  
    return 301 https://$host$request_uri;  
}  
  
server {  
    listen 443 ssl;  
    server_name your_domain.com www.your_domain.com;  
  
    ssl_certificate /etc/nginx/ssl/server.crt;  
    ssl_certificate_key /etc/nginx/ssl/server.key;  
  
    # Additional SSL/TLS options can be added here(optional)  
    ssl_protocols TLSv1.2 TLSv1.3;  
    ssl_prefer_server_ciphers on;  
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';  
      
    # Additional configurations(if needed)  
      
    location / {  
        # Reverse proxy configuration(if needed)  
    }  
}  

الخطوة 6: قم بتمكين التكوين وإعادة التشغيل Nginx

قم بإنشاء ارتباط رمزي من ملف التكوين في sites-available لتمكين sites-enabled التكوين:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

تحقق مما إذا Nginx كان التكوين به أي أخطاء:

sudo nginx -t

إذا لم تكن هناك أخطاء ، أعد تشغيل Nginx الخدمة لتطبيق التكوين الجديد:

sudo systemctl restart nginx

بمجرد الانتهاء ، سيتم تأمين موقع الويب الخاص بك باستخدام SSL / TLS. لاحظ أن استخدام الشهادات الموقعة ذاتيًا سيؤدي إلى تحذير المتصفح بشأن الشهادات غير الموثوق بها. للحصول على شهادة SSL / TLS موثوقة ، تحتاج إلى شراء أو الحصول على شهادة مجانية من مرجع مصدق.