виртуал хосты и rewrite
andy karimov
andy.karimov на gmail.com
Вт Мар 15 16:55:02 MSK 2011
Столкнулся с такой проблемой.
Есть два виртуал хоста vhost1.com и vhost2.info
У vhost2.info ранее было имя домена old.name.some.info, и для
нормальной работы CMS у vhost2.info прописан редирект
rewrite ^(.*) http://vhost2.info$1 permanent;
все ровно работает до момента когда на vhost2.info понадобилось
заливать файлы на 10 мб
тогда в конфиг было добавлено
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
неверно распознает виртуалхост
подскажите как и рыбку скушать и на велосипеде покататься ?
nginx 0.8.54 и 0.9.5, Windows
==== 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;
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, 3:43:00 PM (GMT+2)
Подробная информация о списке рассылки nginx-ru