Re: nginx и поддомены

Maxim Dounin mdounin на mdounin.ru
Вт Апр 19 19:30:05 MSD 2011


Hello!

On Tue, Apr 19, 2011 at 11:17:07AM -0400, memba wrote:

> Здравствуйте.
> 
> Я поднял связку Apache + nginx 0.8.53
> 
> Имеется основной домен domain.ru и поlдомен
> sys.domain.ru
> 
> В апаче прописал:
> Listen <МОЙ_IP>:8080
> NameVirtualHost <МОЙ_IP>:8080
> 
> <VirtualHost domain.ru:8080>
>      ServerName domain.ru
>      ServerAlias www.domain.ru
>      .....
> </VirtualHost>
> 
> <VirtualHost sys.domain.ru:8080>
>      ServerName sys.domain.ru
>      ServerAlias www.sys.domain.ru
>      .....
> </VirtualHost>
> 
> Nginx висит на 80 порту и отдает все Apache
> 
> server {
>         listen       <МОЙ_IP>:80;
>         server_name domain.ru www.domain.ru;
>         .....
> 
>         location / {
>             	proxy_pass         http://<МОЙ_IP>:8080/;
> 		proxy_redirect     off;
>  		log_not_found      off;
>  		proxy_set_header   X-Real-IP $remote_addr;
>  		proxy_set_header   Host $http_host;
>  		proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
>         }
> 
>        .....
> 
> В server_name я конкретно указываю адрес
> сайта, без поддоменов
> 
> Но при обращении к поддомену sys.domain.ru, в
> заголовках ответа так же указано Server:
> nginx/0.8.53, что и на основном домене.

У вас на 80-м порту слушает nginx, так что вполне логично, что 
отвечает на нём nginx.

> Мне казалось, что если я хочу
> подключить поддомены, их нужно явно
> описывать или ставить маску *.domain.ru, а
> если этого не сделано, то они работать
> не должны.
> 
> Так ли это? Нормальная ли это работа
> веб-сервера?

Если заголовок Host не подпадает под описанные имена серверов - 
для обработки запроса будет использовать сервер по умолчанию для 
данного listen-сокета.

Подробнее тут:

http://nginx.org/en/docs/http/request_processing.html

Maxim Dounin



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