Мы переходим на некоторые серверы Nginx с Apache. Хотя мы использовали Nginx для различных сайтов, он был в основном в базовой конфигурации. Однако на одном из «сайтов» (на самом деле несколько), который мы размещаем, является сайтом типа песочницы, так что наши разработчики могут войти на сервер, создать каталог, и у них есть сайт, работающий. Я пытаюсь понять, как воспроизвести это с помощью Nginx, но пока не могу осмыслить это. Любая помощь будет принята с благодарностью.
Пример настройки каталога сервера:
/home/[USER]/sandbox/site1
/home/[USER]/sandbox/site2
... etc.
Конфигурация Apache:
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
ServerAlias *.*.example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.(.*)\.example\.com$ [NC]
RewriteRule ^(.*)$ /home/%1/sandbox/%2/$1 [L]
<Directory />
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Результирующий домен:
[USER].site1.example.com
[USER].site2.example.com
.... etc.
Что было бы эквивалентом в Nginx для анализа хоста и правильной внутренней маршрутизации в указанный каталог?
Может быть, что-то вроде этого:
server {
server_name ~^(?<user>\w+)\.(?<site>\w+)\.example\.com$;
#Then you can use $user and $site variables in config, e.g.:
root /home/$user/sandbox/$site;
}