Tabla de Contenidos

, , , ,

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

<sxh> 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;

} </sxh>

Para balancer la carga

Editamos el fichero de configuración <sxh>vim /etc/nginx/nginx.com</sxh>

Añadimos un bloque del tipo upstream deltro del bloque que comienza con http, que quedaría de la siguiente forma

<sxh> upstream nombre_cualquiera {

server xxx.xxx.xxx.xxx:8080; # o nombre dns
server xxx.xxx.xxx.xxx:8080; # o nombre dns

} </sxh> Dentro del bloque upstream podemos usar varias opciones más:

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

<sxh> 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;

} </sxh>

para balancear por defecto usa round robin

Para combrar si está correcta la configuración en nginx <sxh>nginx -t </sxh> Para recargar la configuración <sxh>systemctl reload nginx</sxh>

Referencias