Re: один конфиг для нескольких virtualhost

Борис Долгов boris на dolgov.name
Сб Дек 19 07:58:34 MSK 2009


Короче, Ваш конфиг надо переписать так:
server {
   listen 80;
   server_name site.ru www.site.ru;
   location / {
               proxy_pass http://127.0.0.1:81;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
       }
}

server {
       listen   80;
       server_name ~ www\.(?<nhost>.*)$;
       location / {
               rewrite ^ http://$nhost/$request_uri;
       }
}

server {
       listen 80 default;
       server_name _;

       location / {
               proxy_pass http://127.0.0.1:81;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
       }

       location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar|ico)$ {
               root   /var/www/static/$host;
       }
}

Чем плох if - можно почитать тут в архивах рассылки, я так же на
хабрахабре писал про это.

Я создал два виртхооста - один обрабатывает домены на www и делает
редирект, другой - обрабатывает сайты и является стандартным.

19 декабря 2009 г. 6:57 пользователь zaartix <nginx-forum at nginx.us> написал:
> выговорите, что
>
> тавот смысл в том, что я как раз и пытался первым сервером сделать правила для site.ru, т.е. хост=site.ru. Но почему-то он туда отправляет все запросы.
>
> да, кстати, замена localhost на "_" во втором сервере ничего не дает, точнее именно так было изначально у меня сделано, но потом засомневался в правильности и перед публикацией исправил на локалхост.
>
> И можно еще намекнуть чем плох "if ( $host ~ www\.(.*)$ )" ?
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,27432,31785#msg-31785
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name


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