مصادقة HTTP هي طريقة بسيطة وآمنة لحماية المحتوى الحساس من المستخدمين غير المصرح لهم. ستوضح لك هذه المقالة كيفية إعداد مصادقة HTTP الأساسية على خادم NGINX يعمل على Ubuntu/CentOS.
متطلبات
- خادم Ubuntu/CentOS مع مستخدم غير جذري مع امتيازات سودو.
- تم تثبيت NGINX على الخادم. إذا كنت بحاجة إلى المساعدة في تثبيت NGINX، فيمكنك اتباع هذا الدليل.
الخطوة 1: إنشاء ملف المصادقة
سنبدأ بإنشاء ملف مصادقة. سيحتوي هذا الملف على اسم المستخدم ومجموعات كلمات المرور التي سيتم استخدامها للمصادقة.
أولاً، قم بإنشاء ملف مصادقة مع اسم المستخدم ومجموعات كلمات المرور. استبدل username
مع اسم المستخدم الذي تريد استخدامه و password
بكلمة السر المقابلة:
$ sudo htpasswd -c /etc/nginx/.htpasswd username
عند الطلب، أدخل كلمة المرور المطلوبة لاسم المستخدم:
Password: password
Verifying - Password: password
كرر الخطوات المذكورة أعلاه لكل اسم مستخدم ومجموعة كلمات مرور تريد إضافتها.
الخطوة 2: ضبط NGINX
يمكننا الآن تعيين NGINX للاستفادة من ملف المصادقة الذي أنشأناه.
أولاً، افتح ملف تكوين NGINX في محرر نصوص:
$ sudo nano /etc/nginx/sites-available/default
يحتوي ملف التهيئة الافتراضي على كتلة خادم تبدو هكذا:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
سنضيف توجيهًا auth_basic
إلى كتلة الموقع. سيخبر هذا التوجيه NGINX باستخدام ملف المصادقة الخاص بنا للمصادقة. يجب أن تبدو كتلة الموقع الآن على النحو التالي:
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
عندما تنتهي، احفظ الملف وأغلقه.
الخطوة 3: اختبر التكوين
الآن بعد أن قمنا بتكوين NGINX لاستخدام مصادقة HTTP الأساسية، يمكننا اختبار التكوين.
أولاً، تحقق من عدم وجود أخطاء في التركيب في ملف التكوين:
$ sudo nginx -t
إذا لم تكن هناك أخطاء في البناء، أعد تشغيل NGINX لتطبيق التغييرات:
$ sudo systemctl restart nginx
في الختام، عند الوصول إلى المعلومات المحمية بالمصادقة، سيتم طلب اسم المستخدم وكلمة المرور.
خلاصة
في هذه المقالة، أوضحنا لك كيفية إعداد مصادقة HTTP الأساسية على خادم NGINX يعمل على Ubuntu أو CentOS. هذه طريقة بسيطة وآمنة لحماية المحتوى الحساس من المستخدمين غير المصرح لهم.