Назад | Перейти на главную страницу

Как сопоставить аутентифицированных пользователей Nginx в их собственном каталоге?

Я пишу сайт социальной сети на C и обслуживаю все это с помощью Nginx. Как я могу сделать так, чтобы аутентифицированные пользователи переходили ТОЛЬКО в свой собственный каталог, в котором находится пользовательский index.html. Я не спрашиваю, как заполнить index.html директивами, специфичными для пользователя, а как заблокировать их в их собственном каталоге.

map $remote_user $profile_directory {
    default      $remote_user;
    ''           guests;
    pavel        admins;
    ivan         admins;
}

server {

    location /profile/ {
        alias /path/to/www/$profile_directory/;
        ...
    }

}

второй пример (см. комментарии):

server {
    location / {
        auth_basic            "Please Login";
        auth_basic_user_file  "/etc/nginx/htpasswd";
        root /var/www/sites/mysite.com/http/$remote_user;
    }
}
events {
}

http {

  map $remote_user $profile_directory {
    default      $remote_user;
  }
  server {
     root                 /var/www/sites/mysite.com/http;

    location / {
        auth_basic            "Please Login";
        auth_basic_user_file  "/etc/nginx/htpasswd";
        alias /var/www/sites/mysite.com/http/$profile_directory/;
    }
  }
}

Это моя отредактированная версия, которая включает в себя все мои голые кости nginx.conf