ksergio.com

I love coding

← Volver

Proxy simple con Nginx

13/1/2024

Nginx es una alternativa a Apache

¿Como redirigir el tráfico web y usar nginx como un gateway/proxy a otros servicios?

Configuración básica

Crea un archivo de configuracion en /etc/nginx/sites-available el nombre puede ser cualquiera, con el siguiente contenido:

server {
    listen 80;
    server_name <nombre1.com , nombre2.com, www.nombre3.es, etc>;

    location / {
        proxy_pass http://localhost:<PUERTO>;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
  • listen 80: Es el puerto que se va a escuchar.
  • server_name: Es el nombre de dominio. Cuando llega la petición se mira si este coincide y se pasa al archivo de configuración correspondiente.
  • location / : Indica que es para todas las peticiones que se hagan. Algo similar a "desde la raíz" hasta cualquier otro path.
  • proxy_pass: aquí se indica hacia donde se redirigen las peticiones.

El resto son configuraciones de headers de las peticiones que se pueden ajustar a gusto. Leer la documentación de Nginx para más personalización.

Ahora solo falta crear un enlace simbolico para "activar" el sitio con nginx.

sudo ln -s /etc/nginx/sites-available/<mi_archivo_config> /etc/nginx/sites-enabled/

SSL y Cerbot

Certbot-logo

SSL (Secure Sockets Layer) es un protocolo de seguridad que cifra la comunicación entre un navegador web y un servidor para proteger los datos transmitidos en línea.

Simplemente seguir las instrucciones de la página web de certbot. Dan todas las indiciones necesarias para diferentes tipos de sistemas operativos. Super intuitivo y gratis.

Te reconfigura el archivo del servidor para redirigir todas las peticiones HTTP del puerto 80 directamente al 443 HTTPS.