Apuntes de Kirby
  • 馃憖whoami
  • 馃Redes
    • Introducci贸n Redes
      • Organizaciones
      • Historia
      • Puntos de conexi贸n
      • M茅todos de acceso a la red
    • Clasificaci贸n de las redes
    • Topolog铆a de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento est谩tico
    • Enrutamiento din谩mico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 馃毀Redes conmutadas
    • CML
      • 馃毀1er CML lab
    • CISCO
      • 驴Qu茅 son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 馃毀Suricata
  • 馃悵Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 馃毀Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP v铆a IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 馃毀Mensajer铆a instant谩nea
      • Ejabberd
    • 馃毀Im谩genes - V铆deos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 馃攽Seguridad
    • NAS
      • Instalaci贸n Synology NAS en VirtualBox
        • Creaci贸n de vol煤menes y su uso
        • Actualizaci贸n Synology NAS
        • Creaci贸n de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuraci贸n de los servicios de archivos
          • Configuraci贸n de red
          • Copias de seguridad (restauraci贸n)
          • Seguridad
          • Personalizar p谩ginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • 驴Qu茅 son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 馃惓Virtualizaci贸n
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • A帽adir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Cl煤ster
      • Red Interna
      • 馃毀Proxmox Backup
      • 馃毀Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 馃悶Miscel谩neas
    • Datos - codificaci贸n
    • IPTables
    • T煤nel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Cap铆tulo 0 Blink
      • Cap铆tulo 1 Led
      • Cap铆tulo 2 Botton & LED
  • 鈦夛笍Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Redes
  2. Proxy

Proxy reverse Nginx

Configuraci贸n de un proxy en Nginx

PreviousSquidGuard ProxyNextSuricata

Last updated 1 year ago

Was this helpful?

En este tutorial vamos a configurar un servidor Ubuntu con Nginx como un proxy para un servidor que tambi茅n tiene instalado un servidor web con Nginx en Ubuntu Linux. Dicho en otras palabras, cuando solicitemos ver la p谩gina www.kirby.com de un servidor veremos la p谩gina que existe en otro servidor.

Las tres VM que voy a utilizar para testear son:

Equipo
IP

Ubuntu Server 23.10

192.168.2.4

Debian 11

192.168.2.110 (DHCP)

Debian 11

192.168.2.105 (DHCP)

El siguiente diagrama de red muestra lo que estoy diciendo:

Las tres VM est谩n en adaptador Red NAT. El Ubuntu Server (verde) hace de servidor de DNS y DHCP as铆 como dos sitios web: www.kirby.com y www.punky.com. Para el sitio web kirby.com he habilitado el m贸dulo de PHP. El sitio web punky.com es solo una p谩gina web est谩tica.

En la VM con Debian (azul) que tiene IP 192.168.2.110 tenemos un sitio web tambi茅n configurado con Nginx. De hecho, es una VM utilizada como DMZ mientras hac铆a pruebas con el firewall pfSense.

La tercera VM, el servidor de Debian (lila) la utilizar茅 solo para acceder a los sitios web de los otros dos servidores.

Configurando el server Ubuntu como proxy

Dado que ya tengo configurado el servicio web con Nginx en el equipo de Ubuntu Server, solo me queda agregar un par de par谩metros en la configuraci贸n, as铆 que vamos all谩. Como se puede ver en la imagen a continuaci贸n, el 煤nico par谩metro que he agregado a la configuraci贸n del sitio web: www.kirby.com en Nginx es:

proxy_pass http://192.168.2.110:80
include proxy_params;

Este par谩metro: proxy_pass se usa en Nginx para configurar un servidor proxy inverso. Dicho par谩metro indica la direcci贸n del servidor backend al que Nginx debe pasar las solicitudes entrantes, o sea, el par谩metro proxy_pass especifica la URL a la que se deben enviar las solicitudes HTTP o TCP recibidas por el servidor Nginx para que el proxy inverso las reenv铆e al servidor backend correspondiente.

En nuestro caso, significa que todas las solicitudes recibidas por Nginx bajo la ubicaci贸n / ser谩n enviadas al servidor backend especificado por http://192.168.2.110:80.

Por lo tanto, el proxy_pass es una herramienta importante a la hora de configurar Nginx cuando se quiere implementar un servidor de proxy inverso, que es utilizada para equilibrar la carga de tr谩fico web, enmascarar la direcci贸n IP del servidor backend, etc.

Una vez se haya modificado nuestro archivo de configuraci贸n correspondiente a www.kirby.com reiniciamos el servicio de Nginx:

sudo systemctl restart nginx

En nuestro ejemplo, el servidor Nginx en Ubuntu funcionar谩 como proxy y enviar谩 todas las solicitudes al servidor remoto que, en mi caso, es el Debian con IP 192.168.2.110. Vamos a comprobarlo desde a VM Debian con IP 192.168.2.105. Nos vamos al navegador y llamamos a www.kirby.com y en lugar de visualizar el contenido de dicho sitio veremos el contenido de la p谩gina web del otro servidor de Debian con IP 192.168.2.110.

Si eres uno de mis alumnos te aseguro que tienes todos los elementos para probar este ejemplo y que no te lleve m谩s de 30 minutos como mucho :-)

馃
Diagrama de la red
www.kirby.com y www.punky.com del servidor Ubuntu
La web de prueba en el servidor Debian
Configuraci贸n de Nginx para el sitio www.kirby.com
La p谩gina web del server 192.168.2.110 cuando se solicita la p谩gina de www.kirby.com del server 192.168.2.4