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