Aquí en LinuxAPT, veremos cómo puede configurar el servidor web NGINX como proxy inverso en el servidor ubuntu 20.04 LTS.
¿Cómo funciona un proxy inverso?
Un proxy inverso es un servidor que se coloca frente a uno o más servidores web, interceptando las solicitudes de los clientes. Cuando los clientes intentan conectarse al servidor de origen de un sitio web, esas solicitudes son interceptadas por el servidor proxy inverso. El servidor proxy reenvía estas solicitudes al servidor proxy y recibe respuestas de este para enviarlas a los clientes.
Los beneficios del proxy inverso incluyen:
- Equilibrio de carga.
- Equilibrio de carga de servidor global (GSLB).
- Almacenamiento en caché de contenido y aceleración web para mejorar el rendimiento.
- Cifrado SSL más eficiente y seguro.
- Protección contra ataques DDoS y problemas de seguridad relacionados.
Requisitos previos
- Servidor web Nginx instalado en Ubuntu Server 20.04 LTS.
- Sitio web configurado en Ubuntu Server 20.04 LTS.
- Conexión SSH a máquinas remotas (Nginx y sitio web).
Para ello, hemos utilizado un sitio web desplegado en un servidor ubuntu 20.04 LTS. Esto actuará como el servidor principal o puede decir servidor proxy. El servidor web Nginx está implementado en otro servidor ubuntu 20.04 LTS que configuraremos como proxy inverso en este tutorial. En nuestra máquina local, tenemos instalado Linux Mint 20.02 desde donde formaremos conexiones remotas con:
- Dirección IP de la máquina virtual del servidor web Nginx:10.11.120.2
- Dirección IP de la máquina virtual del sitio web implementado:10.11.120.3
Para ver cómo puede configurar Nginx Server Block y Secure Nginx con Let's Encrypt SSL en Rocky Linux 8 / CentOS 8, visite:https://linuxapt.com/blog/724-configure-nginx-server-block-and-secure- nginx-con-let-encrypt-ssl-en-rocky-linux-8-centos-8
Pasos para configurar Nginx como proxy inverso en Ubuntu 20.04
1. SSH a la máquina Nginx
El primer paso es conectarse a la máquina remota donde está instalado Nginx. Configuraremos Nginx como proxy inverso en esta máquina. Para hacer eso, ejecute el siguiente comando agregando el nombre de usuario y la IP de la máquina donde tiene implementado su Nginx. En nuestro caso, es nginx y 10.11.120.2:
$ ssh [email protected]
2. Deshabilite el host virtual Nginx preconfigurado
A continuación, desvincule la configuración predeterminada del host virtual de Nginx ejecutando el siguiente comando:
$ unlink /etc/nginx/sites-enabled/default
3. Cree un archivo de configuración de proxy inverso
Luego, crearemos un archivo de configuración de proxy inverso.
Para hacer eso, vaya al directorio de sitios disponibles siguiendo la ruta en el siguiente comando:
$ cd /etc/nginx/sites-available
Ahora, cree un archivo de configuración de proxy inverso y ábralo con un editor nano como este:
$ sudo nano example.conf
Copie las siguientes líneas y péguelas en el archivo que acaba de crear:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://10.11.120.3:80;
}
}
Esta configuración indica que el proxy inverso de Nginx escucha en el puerto 80 y redirige todas las solicitudes de conexión entrantes de example.com hacia el puerto 80 del servidor 10.11.12.3.
4. Active el archivo creando un enlace simbólico
Aquí, guardaremos el archivo y lo activaremos creando un enlace simbólico como este:
$ sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
5. Pruebe el archivo de configuración de Nginx
Es hora de probar nuestro archivo de configuración de proxy inverso en busca de errores. Para hacer eso, ejecute el siguiente comando:
$ sudo nginx -t
Si recibe el mensaje "la sintaxis es correcta", significa que está listo para comenzar.
6. Reinicie Nginx
El paso final es reiniciar el servidor web Nginx para que el nuevo archivo de configuración de proxy inverso que acabamos de agregar se configure con el servidor web Nginx. Haga esto ejecutando el siguiente comando:
$ sudo systemctl restart nginx
Ahora puede probarlo abriendo el navegador web en su máquina y ejecutando el sitio web. Se le enviará a través de Nginx a la máquina 10.11.120.3.
Si el sitio web funciona bien, significa que configuró correctamente Nginx Reverse Proxy.