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