NGINX: السماح للمستخدمين بحماية الدلائل بكلمة مرور أنفسهم؟

StackOverflow https://stackoverflow.com/questions/2396884

سؤال

على حد علمي ، يمكن لـ NGINX فقط حماية كلمة المرور من داخل ملف (ملفات) التكوين. يعمل بشكل جيد ، لكنه ليس خيارًا حقيقيًا للمستخدمين النهائيين الذين أ) لا يمكن تحرير التكوينات و ب) سوف يكسر التكوينات إذا استطاعوا

في الوقت الحالي ، أفكر في تمثيل قائم على الويب لهيكل الدليل حيث يمكنهم الإشارة والنقر-إعادة كتابة التكوينات وإعادة ترشيح nginx ... لكن الفكرة بأكملها تبدو وكأنني على وشك إعادة كتابة cpanel v0. 0.1 ؛-)

أي شخص هنا لديه نفس المشكلة وتوصل إلى حل أنيق وقابل للصيانة؟ لدي سيطرة كاملة على الخادم.

شكرًا!

هل كانت مفيدة؟

المحلول

أنت لا تريد حقًا أن يغير المستخدمون التكوينات ، أليس كذلك؟ بالنسبة لحماية كلمة المرور ، يكون ملف HTPassWD كافياً ، إذا كان العالم يبقى دائمًا كما هو. ويمكن لـ Nginx نفسه التحقق من وجود ملف موجود. لذلك ، هذا ما يمكن أن يؤدي المهمة:

  location ~ ^/([^/]*)/(.*) {
        if (-f $document_root/$1/.htpasswd) {
                error_page 599 = @auth;
                return 599;
        }
  }
  location @auth {
        auth_basic "Password-protected";
        auth_basic_user_file $document_root/$1/.htpasswd;
  }

يعمل بالنسبة لي مع NGINX-0.7.65. 0.6.x والإصدارات السابقة ربما لا تتخلى

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top