Динамические поддомены на nginx

Заметка об использовании переменных в домене на web сервере nginx, или динамические поддомены. Важно не забыть выше расположить статические поддомены, чтоб динамические их не перебивали. Ну и примеры ниже: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 server { server_name www.example.com; location / { proxy_pass 127.0.0.1:80; } } server { server_name ~^(?<dynamic>[a-z0-9\-]+)\.example.com$; location / { proxy_pass 127.0.0.1:80/sites/$dynamic$uri$is_args$args; } } Вот ещё вариант: Если у вас много поддоменов или вы хотите создавать их автоматически, тогда имеет смысл создать одну универсальную конфигурацию, которая будет обслуживать все поддомены, направляя запросы посетителей в соответствующие каталоги. В первую очередь, необходимо настроить DNS: добавить поддомен с именем * (звездочка, без кавычек) и направить его на IP вашего веб-сервера. Измените секцию server вашего сайта следующим образом: 1 2 3 4 5 6 7 8 9 10 11 12 server { listen 80; server_name example.com *.example.com; root /var/www/example.com/$subdomain; set $subdomain ""; if ($host ~* ^([a-z0-9-\.]+)\.example.com$) { set $subdomain $1; } if ($host ~* ^www.example.com$) { set $subdomain ""; } } Не забудьте поменять example.com на имя вашего домена. Эта конфигурация работает следующим образом: ...

13 квітня 2016 · 1 хвилина · 213 слів · dimetrius