El equilibrio de carga de Nginx redirecciona al "nombre" ascendente

El equilibrio de carga de Nginx redirecciona al "nombre" ascendente

Introducción:

Por favor lea esta pregunta sobre errores del servidor enProblema de equilibrio de carga de nginx con 301 desde el backend. Algo similar a mi problema, pero la respuesta no funciona. Nginx está redirigiendo al "nombre" de mi canal ascendente. El punto es que esta no es una pregunta específica de OpenShift.


Configuración:

Configuré nginx 1.4.4 correctamente (construido a partir de la fuente, verifiqué que funciona correctamente [1]) en un equipo de bricolaje sin escala con OPENSHIFT_DIY_IP 127.8.143.129. Llamémoslo A. Configuré un servidor Tornado en dicho equipo y otro Tornado en otro equipo sin escala. (Supongamos que una caja de Linux gear = red hat en la misma LAN detrás de NAT, simplificada) Ambas son aplicaciones simples de hola mundo basadas enrepositorio openshift-hellotornado. Llamemos a esto B. La dirección DNS de B es pam-picaxe.rhcloud.com. La dirección DNS de A es main-picaxe.rhcloud.com.

Cada vez que navego a main-picaxe.rhcloud.com, el navegador se redirige con un 302 encontrado con

Location: https://frontends/app.

"frontends" aquí es el nombre del upstream en la configuración de nginx. Extraño.

[1]: Prueba de que nginx funciona solo con el equipo A: si comento la línea 20 y descomento la línea 21 en el archivo de configuración (enlace de Pastebin al final de la publicación), todo funciona bien y obtengo un "¡Hola mundo!". pero siempre tengo un caso como el de la línea 20 (incluso si es la dirección DNS del equipo A en lugar del equipo B).

Probé una solución:

Pasé medio día en esto, cansado de intentar configurarlo. Probé la solución dada en la publicación de error del servidor antes mencionada, reemplazando mi bloque de ubicación con:

ubicación / {
            proxy_pass http://frontends;
            proxy_set_header Anfitrión $anfitrión;
            proxy_redirect http://frontends http://$host:$server_port/;
            proxy_redirect http://frontends:8080/ http://$host:$server_port/;
}

Esto da como resultado un bucle de redireccionamiento. Salida de registro de muestra comenzando desde la primera solicitud hasta /:

AAA.BBB.CCC.DDD - - [22/dic/2013:14:53:53 -0500] "GET / HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 ( KHTML, como Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/dic/2013:14:53:55 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, como Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/dic/2013:14:53:55 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, como Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/dic/2013:14:53:55 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, como Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/dic/2013:14:53:56 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, como Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"

¿Alguna idea sobre cómo puedo tener una vida normal con equilibrio de carga con nginx?

Enlace a nginx.conf:http://pastebin.com/91CMftSc

información relacionada