ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: виртуал хосты и rewrite


  • To: Maxim Dounin <nginx-ru@xxxxxxxxx>
  • Subject: Re[2]: виртуал хосты и rewrite
  • From: andy karimov <andy.karimov@xxxxxxxxx>
  • Date: Tue, 15 Mar 2011 16:46:54 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:date:from:reply-to:x-priority:message-id:to :subject:in-reply-to:references:mime-version:content-type :content-transfer-encoding; bh=ssmvMf910Y2lKTvItaeLjwvJnXskWU+rmKc0LfzIRno=; b=X5zfe6Ttif3knRLbG1yOiVqueF/k+OIX1PNstk+wnI+zWzQBM5jFuT6cW3o+VQ3eTG KCIn0B3PHlbcsUrd3RXSNOrG53YTLb0qMXskGYco/hYYcshkvyYFv3s7v4TMfzM5Bb1V hYcFHNWfc+GgS0ysN0vekSsureA4SjGKtgZmc=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:reply-to:x-priority:message-id:to:subject:in-reply-to :references:mime-version:content-type:content-transfer-encoding; b=UfddC/dLX0eRxs+JnqOgl6RkBxRtv+xrbkVy4VyLKn5EG8OBLyXVlPI+2+nxlVOE37 e7JNJHsW3JQ4yQSC4Bd8rBKHMPQ0vzHJfzjGSbQaSAfWQN76CKIrehTd/EAffluxY8Ca VUX+cuQgcJdvWdtZtg/cq9PvUpmO8Am2T5Tvo=
  • In-reply-to: <20110315142644.GH99496@xxxxxxxxxx>
  • References: <3210374912.20110315155502@xxxxxxxxx> <20110315142644.GH99496@xxxxxxxxxx>

Hello Maxim,

Tuesday, March 15, 2011, 4:26:45 PM, you wrote:

>> Столкнулся с такой проблемой.
>> Есть два виртуал хоста vhost1.com и vhost2.info
>> У vhost2.info ранее было имя домена old.name.some.info, и для
>> нормальной работы CMS у vhost2.info прописан редирект
>> 
>> rewrite ^(.*) http://vhost2.info$1 permanent;
>> 
>> все ровно работает до момента когда на vhost2.info понадобилось
>> заливать файлы на 10 мб

MD> У вас в server{} для vhost2.info вообще в конфиге не задан, запрос 
MD> на vhost2.info будет обработан в сервере по умолчанию на 
MD> соответствующем listen-сокете.  Т.е. в первом, описанном в конфиге 
MD> (или где повезёт, если файлы с описаниями серверов подключаются 
MD> через include), ибо явно сервер по умолчанию не задан.

Задание vhost2.info в server_name приводит к loop'у при рерайте.


>> тогда в конфиг было добавлено
>> 
>> client_max_body_size 12M;
>> client_body_buffer_size 256k;
>> 
>> и ничего не работало, по логам было видно что nginx ругается при
>> попытке аплоада на vhost2.info на то, что настройки vhost1.com не
>> позволяют аплоадить такой размер (увы я логи стер)
>> 
>> как выяснилось если в конфиге vhost2.info убрать редирект и вписать
>> имя vhost2.info в server_name то nginx нормально распознает
>> виртуалхосты.
>> 
>> если оставить редирект то имя хоста на который редиректится нужно
>> убирать из server_name иначе происходил loop и соответственно nginx
>> неверно распознает виртуалхост
>> 
>> подскажите как и рыбку скушать и на велосипеде покататься ?

MD> Начните с простого - почитайте тут:
MD> http://nginx.org/en/docs/introduction.html
MD> А уже потом начинайте конфигурировать.

Читал, не помогло.

>> nginx 0.8.54 и 0.9.5, Windows
MD> Just in case: nginx под Windows в production - это выбор смелых.
Спасибо, год работает - никаких проблем.


>> ==== vhost1
>> server {
>>   listen 80;
>>   error_page   500 502 503 504  /50x.html;
>>   location = /50x.html { root   html; }
>> 
>>   server_name vhost1.com;
>>     location / {
>>             access_log off;
>>             proxy_set_header  Host    $http_host;
>>             proxy_set_header    X-Real-IP    $remote_addr;
>>             proxy_set_header    X-Forwarded-For    
>> $proxy_add_x_forwarded_for;
>>             proxy_pass   http://127.0.0.1:8088;
>>                }
>>        }
>> ==== vhost1
>> 
>> 
>> ==== vhost2
>> server {
>>   listen 80;
>>   server_name *.vhost2.info old.name.some.info;
>>   rewrite ^(.*) http://vhost2.info$1 permanent;

MD> "rewrite ^(.*)" - срабатывает всегда, соответственно любой запрос 
MD> в этот сервер будет перенаправлен.  Все тщательно описанные 
MD> location'ы в этом сервере - не будут работать никогда и смысла не 
MD> имеют.

заданы, работают, все хорошо.
с рерайтом только проблема :)

>>   error_page   500 502 503 504  /50x.html;
>>   location = /50x.html { root   html; }
>> 
>>   location ~* \.(jpg|jpeg|gif|png|css)$ {
>>             access_log off;
>>             root c:/home/vhost2.info;
>>             expires 3d;
>>                }
>> 
>>     location / {
>> 
>>             client_max_body_size 12M;
>>             client_body_buffer_size 256k;
>> 
>>             access_log off;
>>             proxy_set_header  Host    $http_host;
>>             proxy_set_header    X-Real-IP    $remote_addr;
>>             proxy_set_header    X-Forwarded-For    
>> $proxy_add_x_forwarded_for;
>>             proxy_pass   http://127.0.0.1:8088;
>> 
>>             proxy_connect_timeout      30;
>>             proxy_send_timeout         30;
>>             proxy_read_timeout         30;
>>                }
>>        }
>> 
>> ==== vhost2


-- 
NictaTech Software
http://www.nictasoft.com
Tuesday, March 15, 2011, 4:42:38 PM (GMT+2)


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.