meta data de esta página
Proxy inverso con NGINX
Redireccionar
Para redirecionar el tráfico a distintos servidores en en función de la url tenemos que editar el fichero de configuración de nuestro sitio por ejemplo, /etc/nginx/sites-enabled/intrusos.info y añadir un location
location /app1 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://servidor1:8080; } location /app2 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://servidor2:8080; }
Para balancer la carga
Editamos el fichero de configuración
vim /etc/nginx/nginx.com
Añadimos un bloque del tipo upstream deltro del bloque que comienza con http, que quedaría de la siguiente forma
upstream nombre_cualquiera { server xxx.xxx.xxx.xxx:8080; # o nombre dns server xxx.xxx.xxx.xxx:8080; # o nombre dns }Dentro del bloque upstream podemos usar varias opciones más:
- ip_hash para que la redirección se envie siempre al server donde ya estamos conectado (para mantener el estado )
- least_conn para que la redirección sea al servidor con menor carga (menor número de conexiones);
Una vez que hemos indicado el bloque de servidores para balancear editamos el fichero donde hicimos las redirecciones, para que quede de la siguiente forma
location /app1 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://nombre_cualquiera; #el nombre que le dimos en el bloque upstream } location /app2 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://nombre_cualquiera_2:8080; }
Para combrar si está correcta la configuración en nginx
nginx -tPara recargar la configuración
systemctl reload nginx