¿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 101virtual_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 101virtual_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 startystemctl enable keepalived
systemctl enable nginx
Un saludo.
:wq!
Una respuesta a “Configurar un Reverse Proxy de alta disponibilidad con NGINX y keepalive”