Saltar al contenido

Utilice el grupo ascendente de nginx con varios puertos

Solución:

Debe definir el puerto en cada server entrada en upstream. Si no lo hace, nginx lo configurará en 80. Entonces server 10.240.0.26; en realidad significa server 10.240.0.26:80;.

Sin embargo, podría definir varios bloques ascendentes:

upstream production_1234 {
    server 10.240.0.26:1234;
    server 10.240.0.27:1234;
}
upstream production_4321 {
    server 10.240.0.26:4321;
    server 10.240.0.27:4321;
}
server {
    listen 80;
    server_name some.host;
    location / {
        proxy_pass http://production_1234;
    }
}
server {
    listen 80;
    server_name other.host;
    location / {
        proxy_pass http://production_4321;
    }
}

Otra opción es configurar su DNS local para resolver el nombre de host production a varias IP, y en este caso nginx las usará todas.

http://nginx.org/r/proxy_pass: si un nombre de dominio se resuelve en varias direcciones, todas se utilizarán de forma rotatoria.

server {
    listen 80;
    server_name some.host;
    location / {
        proxy_pass http://production:1234;
    }
}

Cuando usa upstreams, los puertos se definen en los bloques upstream:

upstream production {
    server 10.240.0.26:8080;
    server 10.240.0.27:8081;
}

En otras palabras, nginx resuelve proxy_pass argumento ya sea a un grupo aguas arriba o un host:port par. Cuando usa una variable como argumento, solo se resuelve como host:port par.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *