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

Каталоги пользователей nginx и unix

Можно ли настроить nginx так, чтобы домен / пользователь был проксирован на порт, выделенный для этого пользователя.

Затем пользователь может запустить другой экземпляр nginx или единорога на этом порту.

Это возможно? Я хотел бы базу данных, которая контролирует отношение пользователя к номеру порта.

Вы можете использовать комбинацию nginx map и rewrite модули. Однако вам понадобится сценарий для генерации конфигурации карты из базы данных.

Целевая конфигурация будет выглядеть так:

map $uri $new {
  default        http://www.domain.com/;
  include        /path/to/usermap.txt; 
}

server {
  server_name   www.domain.com;
  rewrite  ^    $new   redirect;
}

С участием /path/to/usermap.txt генерируется сценарием с выводом, подобным этому:

# automatically generated by a script
/~alice          http://www.domain.com:8001/;
/~bob            http://www.domain.com:8002/;
/~chuck          http://www.domain.com:8003/;