Привет всем,
сейчас приходится делать так:
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.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru