Re: nginx не обрабатывает поддомен
Maxim Dounin
mdounin at mdounin.ru
Wed Apr 24 14:55:23 UTC 2013
Hello!
On Wed, Apr 24, 2013 at 09:37:43AM -0400, Kubik129 wrote:
> Приветствую всех.
> ситуация следующая: есть сайт на nginx+php-fpm. Назовем его site.com. Есть
> два поддомена этого сайта - subdomen1.site.com и subdomen2.site.com. Все они
> сидят на одном ip. Конфиги:
> - базовый
> http {
> server {
> listen ip:80;
> server_name site.com www.site.com;
> access_log /var/log/nginx/site_access.log main;
> error_log /var/log/nginx/site_error.log error;
> root /home/site/data;
> ...
> }
> include subdomen1.conf;
> include subdomen2.conf;
> }
> - первый поддомен
> server {
> listen ip:80;
> server_name subdomen1.site.com;
> access_log /var/log/nginx/subdomen1_access.log main;
> error_log /var/log/nginx/subdomen1_error.log error;
> root /home/subdomen1/data;
> ...
> }
> - второй поддомен
> server {
> listen ip:80;
> server_name subdomen2.site.com;
> access_log /var/log/nginx/subdomen2_access.log main;
> error_log /var/log/nginx/subdomen2_error.log error;
> root /home/subdomen2/data;
> ...
> }
> Казалось бы все должно быть ОК.
> Но. Поведение всей этой конструкции вгоняет в ступор. Обращаемся на site.com
> - все ок, обращаемся на subdomen1.site.com - все ок, обращаемся на
> subdomen2.site.com - и получаем перенаправление на site.com. Фактически мы
> даже не получаем запись в subdomen2_access.log, обращение пишется сразу в
> site_access.log. Такое ощущение, что при пробеге по конфигу nginx не видит в
> упор запись про subdomen2.
> Пробовал ходить на разные порты, т.е. написал вот так
> - второй поддомен
> server {
> listen ip:8080;
> server_name subdomen2.site.com;
> access_log /var/log/nginx/subdomen2_access.log main;
> error_log /var/log/nginx/subdomen2_error.log error;
> root /home/subdomen2/data;
> ...
> }
> и заходить по адресу subdomen2.site.com:8080 - и чудо случилось, попадаю
> куда надо.
>
> Вопрос, а как так может быть? почему в первом случае с одинаковыми портами
> nginx не видит запись про subdomen2, а при разных портах все прекрасно?
> Понятно что мне нельзя оставлять порт 8080, все должно работать на
> стандартном 80. Но оно отказывается.
> Заранее всем спасибо за помощь и идеи.
Не имея полного конфига - можно только гадать, но я бы поставил на
опечатку имени домена.
При использовании отдельного порта - имя становится не важно, т.к.
единственный сервер на данном порту становится заодно и сервером
по умолчанию.
--
Maxim Dounin
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru