كيفية إعداد استيثاق HTTP مع Nginx على Ubuntu 14.04


طريف

Nginx (وتلفظ "engine x") هو خادوم ويب حرّ ومفتوح المصدر، يعمل كخادوم بروكسي معكوس reverse proxy للبروتوكولات HTTP ،POP3 ،SMPT ،IMAP، كتبه Igor Sysoe بهدف التركيز على المرونة، الخفة، وقلّة استهلاك الموارد وذلك بالمقارنة مع أباتشي Apache.

nginx-http-auth.thumb.jpg.35f1c2ad6222f9

المتطلبات

كشرط مسبق لهذا الدرس سأفترض أنك انتهيت من الإعدادات الأولية على الخادوم الافتراضي الخاص بك VPS إضافةً إلى تثبيت Nginx بنجاح

الخطوة الأولى: تثبيت Apache Utils

نحتاج أولًا إلى الأداة htpasswd بهدف إنشاء وتحديث ملف لتخزين معلومات التوثيق الأساسية للمستخدم (الاسم وكلمة المرور)، htpasswd هي جزء من حزمة apache2-utils والتي يمكنك تركيبها بالأمر التالي: 

sudo apt-get install apache2-utils

الخطوة الثانية: إنشاء مستخدم

إنشاء ملف htpasswd. داخل دليل موقع الويب الخاص بك يؤمن بواسطة Nginx. يُنشئ الأمر التالي الملف اللازم ويضيف اسم مُستخدم مع كلمة مرور مُشفّرة له: 

sudo htpasswd -c /etc/nginx/.htpasswd exampleuser 

هنا ستطلب منك الأداة اختيار كلمة المرور: 

New password: 
Re-type new password: 
Adding password for user exampleuser 

وهكذا تكون صيغة ملف htpasswd. مشابهة لهذا: 

login:password 

خُذ بعين الاعتبار أن htpasswd يجب أن يكون قابلًا للوصول بواسطة حساب المستخدم الذي يُشغّل Nginx.

الخطوة الثالثة: تحديث إعدادات Nginx

يقع ملف ضبط Nginx ضمن الدليل /etc/nginx/sites-available/. أضف السطرين التاليين إلى آخره لحماية مسار النطاق الذي ترغب به: 

auth_basic "Restricted"; 
auth_basic_user_file /etc/nginx/.htpasswd; 

يحمل السطر الثاني مكان ملف htpasswd. الخاص بموقعك. 
على سبيل المثال لنقل بأنّ ملف ضبط nginx لموقعنا هو /etc/nginx/sites-available/website_nginx.conf/؛ افتح الملف بواسطة المحرّر النصيّ الذي تفضّله:

sudo vi /etc/nginx/sites-available/website_nginx.conf 

ثم أضف هذين السطرين إلى المسار التالي: 

server { 
    listen portnumber; 
    server_name ip_address; 
    location / { 
         root /var/www/mywebsite.com; 
         index index.html index.htm; 
         auth_basic "Restricted"; #For Basic Auth 
         auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth 
    } 
} 

الخطوة الرابعة: أعد تحميل Nginx

يتوجب علينا أخيرًا إعادة تحميل إعدادات Nginx لتأخذ التغييرات الجديدة موضع التنفيذ على موقع الوِب الخاص بنا. بعد ذلك جرّب الدخول إلى النطاق الذي تمّت حمايته بواسطة معلومات التوثيق السابقة: 

$ sudo /etc/init.d/nginx reload 
* Reloading nginx configuration... 

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

رائع! أصبح لديك الآن نطاق ويب محمي باستخدام توثيق Nginx الأساسي.

ترجمة -وبتصرف- للمقال How To Set Up HTTP Authentication With Nginx On Ubuntu 12.10.

حقوق الصورة البارزة: Designed by Freepik.





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن