Приветствую! Имеется связка 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@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru