Quiero usar parte de uri como clave hash ascendente, la configuración es la siguiente:
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;
}
}
Pero esto no tiene efecto, la solicitud solo se envía al primer servidor, independientemente del uri. Y también pruebo el hash comohash $dir consistente, esa configuración tiene el efecto correcto.
¿Cómo puedo configurar nignx?
Respuesta1
Puede haber un par de errores en tu configuración, ya que esto funciona:
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/;
...
}
...
}