НГИНКС:Разрешить пользователям самим защищать каталоги паролем?

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

Вопрос

Насколько мне известно, Nginx может защищать паролем каталоги только внутри файлов конфигурации.Это прекрасно работает, но не является реальным вариантом для конечных пользователей, которые А) не могу редактировать конфиги и Б) сломали бы конфиги, если бы могли

Прямо сейчас я думаю о веб-представлении структуры каталогов, где они могут указывать и щелкать - переписывать конфигурации и повторно убивать HUP 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