Reverse proxy en nginx

Como crear reverse proxy en nginx…

A veces cuando tenemos servidores necesitamos re-direccionar dominios a otros servidores o aplicaciones que escuchan puertos que no son el 80.

Para controlar estas peticiones se pueden implementar dns o alguna configuración complicada de red, en su defecto la formas mas  rapida y efectiva es el Reverse Proxy , tanto apache como nginx tienen estas configuraciones, la preferencia de usar nginx es por la mejora en sintaxis con respecto a apache, de esta manera pasamos a ver la configuración de un server con reverse proxy a una app de node y express local que escucha un puerto diferente al 80, dentro de un subdominio que redirecciona al servidor nginx.

upstream app-node {
        server 127.0.0.1:3000;
}
#App Node
server {
        listen 80;
        root /var/www/example/public;

        index index.html index.htm index.nginx-debian.html;

        server_name exampe.example.com;

        location / {
                proxy_pass http://app-node/;
                proxy_set_header Host $host;
        }
        location ~ /.well-known {
                allow all;
        }
}

Como podemos ver creamos una constante upstream para el servidor express en el puerto 3000 (el cual puede ser el definido por el desarrollador), y en el root de directorios apuntamos a la carpeta pública para obtener los css, imágenes, etc., y al final redireccionamos a la dirección del upstream.

En conclusión la implementación de reverse proxy es bastante óptima para el uso de subdominios o multiaplicaciones, o algún requerimiento de servidor específico.

0 comments on “Reverse proxy en nginxAdd yours →

Leave a Reply

Your email address will not be published. Required fields are marked *