Я хочу использовать часть URI в качестве ключа хэша восходящего потока, конфигурация выглядит следующим образом:
map $uri $dir {
~^/(.*?)/ $1;
}
upstream backServer {
server 172.10.27.223:80;
server 172.10.27.161:80;
hash $dir consistent;
}
server {
listen 80;
location / {
proxy_pass http://backServer;
}
}
Но это не эффект, запрос отправляется только на первый сервер, независимо от uri. И я также пробую хэш типахэш $dir согласован, эта конфигурация верна.
Как мне настроить nignx?
решение1
В вашей конфигурации может быть несколько ошибок, поскольку это работает:
map $uri $hashtest {
"~^(.*)/" "$1";
}
upstream nodeServers {
server 192.168.1.3:8888;
server 192.168.1.3:8889;
hash $hashtest consistent;
}
server {
...
location /xyz/ {
proxy_pass http://nodeServers/;
...
}
...
}