إعداد Nginx HTTPS بشهادة SSL موقعة ذاتيًا.
لا يوصى باستخدام HTTPS بدون شهادة SSL / TLS صالحة. تُستخدم الشهادة لتشفير الاتصال بين الخادم والعميل, وبدون شهادة صالحة, لن يتم تشفير الاتصال وسيكون عرضة للهجمات.
لكن, إذا كنت لا تزال ترغب في استخدام HTTPS بدون شهادة SSL / TLS صالحة, يمكنك القيام بذلك باستخدام شهادة موقعة ذاتيا أو شهادة صادرة عن هيئة تصديق خاصة (كاليفورنيا). وإليك كيفية القيام بذلك باستخدام nginx:
- قم بإنشاء شهادة موقعة ذاتيًا:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx-selfsigned.key -out /etc/nginx/ssl/nginx-selfsigned.crt
يُنشئ هذا الأمر شهادة ومفتاح موقعة ذاتيًا بصلاحية 365 أيام ويحفظ لهم /etc/nginx/ssl/nginx-selfsigned.key
و /etc/nginx/ssl/nginx-selfsigned.crt
على التوالى.
- قم بتكوين nginx لاستخدام الشهادة الموقعة ذاتيًا:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
# other server configurations
}
يخبر هذا التكوين nginx بالاستماع على المنفذ 443 (HTTPS) واستخدم الشهادة الموقعة ذاتيًا والمفتاح لتشفير SSL / TLS.
لاحظ أن الشهادات الموقعة ذاتيًا لا يتم الوثوق بها افتراضيًا متصفحات الويب وسيؤدي إلى ظهور رسالة تحذير عندما يحاول المستخدم الوصول الموقع. لتجنب هذا, يمكنك تثبيت الشهادة الموقعة ذاتيًا على أجهزة العميل أو استخدام شهادة SSL / TLS صالحة صادرة عن مرجع مصدق موثوق به.