Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Настройка балансировки с проксированием
- To: nginx-ru@xxxxxxxxx
- Subject: Настройка балансировки с проксированием
- From: "sebor" <nginx-forum@xxxxxxxx>
- Date: Wed, 14 May 2014 07:59:01 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=0BT5LqilmtoLwp7Lv3JeAVSTUh4GgGoiDvGh76SzlR8=; b=qaykkDwHd0h1VAiYDL15tJTuNzxYg5UgWZpmKuOd7EhWgyaN2wvRSO8rdkQ+sKMpcJJs4mwoX9DZ1npEwbgevWtxTqJudYOFVHpZmNZV3vvzLi0tpbZ6tePBkyLeEGk333DiFToaUFRssi1uErFC1NAumHocw36txcabviDjf0I=;
Приветствую!
Имеется связка tomcat+nginx. На томкате установлена opencms и имеется
мультисайтовость: т.е. имеется несколько http коннекторов:
и т.д.
Соответственно в Nginx'e имеется проксирование:
server {
listen 80;
server_name www.site1.ru;
gzip off;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml text/css;
access_log logs/host.www.site1.ru.access.log main buffer=32k;
location /export/ {
proxy_pass 127.0.0.1:8081/export/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /resources/ {
proxy_pass 127.0.0.1:8081/resources/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /opencms/ {
rewrite ^/opencms/(.*)$ www.site1.ru/$1 permanent;
}
location / {
root html;
index index.html index.htm;
proxy_pass 127.0.0.1:8081/opencms/;
client_max_body_size 200m;
client_body_buffer_size 128k;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} и .т.п.
Т.е. на каждый сайт забинден свой порт.
Вопрос возник следующий: как сделать балансировку на кластер томкатов?
Допустим, я сделаю так:
upstream appservers {
server tomcat1
server tomcat2
}
server {
location / {
proxy_pass http://appservers;
}
}
Тогда как передать часть uri и порт? Как я понял из доки, написать
proxy_pass appservers:8081/export нельзя. Можно ли как-то решить это?
Была идея поставить на каждый томкат в кластере свой nginx и потом каждый из
них добавить в группу для балансировки у главного (который и будет смотреть
наружу). Идея рабочая, но не рациональная)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,250076,250076#msg-250076
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|