Поддомен Nginx перезаписывается в каталог сервера

Мы переходим на некоторые серверы 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 для анализа хоста и правильной внутренней маршрутизации в указанный каталог?

0
задан 30 June 2016 в 17:23
1 ответ

Может быть, что-то вроде этого:

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;
}
2
ответ дан 4 December 2019 в 13:40

Теги

Похожие вопросы