server name и динамические поддомены

tetramin nginx-forum на forum.nginx.org
Вт Янв 26 06:47:36 UTC 2016


Добрый день.

Установлен nginx, выполняет роль прокси на главном сервере. Настроен так:

server {
    listen my_ip:80;
    server_name example.ru;
    rewrite ^ http://www.example.ru$request_uri? permanent;
}

server {
    listen my_ip:80;
    server_name *.example.ru;

location / {
    proxy_pass http://1.0.0.2:80;
    ...
    }
...
[остальные настройки]
}

И есть "нижестоящий" сервер, на который проксируются запросы. Он, как раз, и
отдаёт контент нужного сайта. На сайте контент разных городов сделан через
поддомены. В связи с этим возникла проблема: на "нижестоящем" сервере
пришлось создать секцию server {} для каждого города, а их много и будет ещё
больше. Приведу пример, как настроено (остальные настройки опущу, думаю, они
не важны):
server {
server_name www.example.ru; # www - это поддомен главного города
}
server {
server_name msk.example.ru;
}

server {
server_name spb.example.ru;
}

И так далее. Пробовал в server_name писать маску *.example.ru, регулярку
~.+\.example\.ru - но в таких случаях, по неизвестным мне причинам,
происходит бесконечный редирект на www.example.ru.

Подскажите, пожалуйста, что я делаю не так? Как это организовать в одной
секции server?
Спасибо.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264119,264119#msg-264119



Подробная информация о списке рассылки nginx-ru