Вложенный upstream
Vladimir Stackov
amigo.elite на gmail.com
Ср Ноя 25 21:30:34 UTC 2015
Привет всем,
сейчас приходится делать так:
http {
upstream a {
server 1.1.1.1:8080;
server 2.2.2.2:8080 backup;
}
server {
listen 127.0.0.1:8081;
location {
proxy_pass http://a;
}
}
upstream b {
server 3.3.3.3:8080;
server 2.2.2.2:8080 backup;
}
server {
listen 127.0.0.1:8082;
location {
proxy_pass http://b;
}
}
upstream main {
server 127.0.0.1:8081;
server 127.0.0.2:8082;
hash $http_x_key consistent;
}
server {
listen *:80;
location {
proxy_pass http://main;
}
}
Есть ли какие-нибудь подходы/патчи, позволяющие nginx'у не проксировать
через себя лишний раз?
Ну, кроме переменной в proxy_pass вместо "main" и embedded perl/lua/js для
присвоения нужного значения.
Т.е. что-то вроде
upstream a {
server 1.1.1.1:8080;
server 2.2.2.2:8080 backup;
}
upstream b {
server 3.3.3.3:8080;
server 2.2.2.2:8080 backup;
}
upstream main {
upstream a;
upstream b;
hash $http_x_key consistent;
}
server {
listen *:80;
location {
proxy_pass http://main;
}
}
или
upstream main {
upstream a {
server 1.1.1.1:8080;
server 2.2.2.2:8080 backup;
}
upstream b {
server 3.3.3.3:8080;
server 2.2.2.2:8080 backup;
}
hash $http_x_key consistent;
}
server {
listen *:80;
location {
proxy_pass http://main;
}
}
--
Kind regards,
Vladimir.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151126/28a139dc/attachment.html>
Подробная информация о списке рассылки nginx-ru