Configurar un Reverse Proxy de alta disponibilidad con NGINX y keepalive

¿Que es un proxy inverso?

Un Proxy inverso es un intermediario entre una red pública y un conjunto de servidores privados; el cual se encarga de administrar las solicitudes de servicios por parte de uno o varios computadores externos. Estos funcionan manipulando los requerimientos HTTP que son enviados por varios computadores; en un proceso en cual se atienden las solicitudes y al mismo tiempo manipulan la presentación de estos servicios para evitar comprometer información crítica del grupo de servidores privados a donde se solicitan.

¿Que es Keepalived?
Keepalived nos ofrece una solución de alta disponibilidad mediante el uso del protocolo VRRP . Este protocolo, ideado para la L3 de la capa OSI, simula la presencia de un router «virtual» contra el que van dirigidas las peticiones, enrutando las peticiones sobre uno de los routers físicos que prestan servicio de manera totalmente transparente para el usuario. En caso de caida del router físico, se negocia el paso del servicio a otro router físico sin que se aprecie perdida de servicio.

Instalación del software:

Debian y derivados:

apt-get install nginx keepalived

Red hat y derivados:

yum install nginx keepalived

Procedemos a la configuración de keepalived

 

Nodo Master:

cat /etc/keepalived/keepalived.conf

global_defs {

lvs_id nginx_DH
}

vrrp_script check_nginx {
script «killall -0 nginx»
interval 2
weight 2
}

vrrp_instance VI_01 {
state MASTER
interface ens192
virtual_router_id 51
priority 101

virtual_ipaddress {
#IP VIRTUAL
192.168.60.166

}
track_script {
check_nginx
}
}

Ahora debemos configurar el nodo  SLAVE (podemos añadir tantos como queramos)

cat /etc/keepalived/keepalived.conf

global_defs {

lvs_id nginx_DH
}
ng
vrrp_script check_nginx {
script «killall -0 nginx»
interval 2
weight 2
}

vrrp_instance VI_01 {
state SLAVE
interface ens192
virtual_router_id 51
priority 101

virtual_ipaddress {
#IP VIRTUAL
192.168.60.166

}
track_script {
check_nginx
}
}

Configuramos en NGINX el upstream y un reverse proxy para realizar las pruebas (en ambos nodos):

/etc/nginx/sites-enabled/reverseproxy

upstream backend_servers {
least_conn;

server 192.168.1.164; #Nodo master
server 192.168.1.165; #Nodo slave
}

server {
listen 80;
server_name red-orbita.com;

location / {
proxy_pass https://sub.red-orbita.com/;

}
}

Iniciamos los servicios en los dos nodos y lo añadimos al inicio

service keepalived start
service nginx start

ystemctl enable  keepalived
systemctl enable nginx

 

 

Un saludo.

:wq!

Una respuesta a “Configurar un Reverse Proxy de alta disponibilidad con NGINX y keepalive”

Deja una respuesta

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