Como mapear usuários Nginx autenticados para seu próprio diretório?

4

Estou escrevendo um site de rede social em C e servindo tudo com o Nginx. Como posso fazer com que os usuários autenticados acessem seu próprio diretório - SOMENTE - onde reside um index.html específico do usuário. Não estou perguntando como preencher o index.html com diretivas específicas do usuário, mas como bloqueá-las em seu próprio diretório

    
por DisgruntledUser 27.07.2012 / 22:34

2 respostas

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

server {

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

}

segundo exemplo (ver comentários):

server {
    location / {
        auth_basic            "Please Login";
        auth_basic_user_file  "/etc/nginx/htpasswd";
        root /var/www/sites/mysite.com/http/$remote_user;
    }
}
    
por 27.07.2012 / 23:53
0
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/;
    }
  }
}

Esta é a minha versão editada, que inclui todos os meus esqueletos nginx.conf

    
por 09.08.2012 / 21:11