Nginx se utiliza habitualmente como servidor proxy inverso y HTTP de alto rendimiento para gestionar tráfico HTTP y HTTPS. Sin embargo, Nginx también se puede configurar como un proxy UDP, que es útil en escenarios de aplicación tales como el manejo de DNS, comunicación en tiempo real y streaming de vídeo. Este artículo detalla cómo construir un proxy UDP usando Nginx.
condiciones previas
Antes de empezar, asegúrate de haber realizado los siguientes preparativos:
- Un servidor con sistema operativo Linux (por ejemplo, Ubuntu o CentOS)
- Instalación y configuración de Nginx
- Con privilegios sudo o root
Paso 1: Instalar Nginx
Si aún no has instalado Nginx, puedes hacerlo con el siguiente comando:
Ubuntu
sudo apt update
sudo apt install nginx
CentOS
sudo yum install epel-release
sudo yum install nginx
Paso 2: Configurar Nginx para que admita UDP
Por defecto, Nginx no soporta proxies UDP. Por lo tanto, tenemos que asegurarnos de que Nginx se compila con la directiva flujo
. La mayoría de las versiones modernas de Nginx ya incluyen este módulo.
En primer lugar, abra el archivo de configuración de Nginx para editarlo:
sudo nano /etc/nginx/nginx.conf
En el archivo de configuración, busque la opción http
asegúrese de añadir el bloque flujo
Configuración del módulo:
backend ascendente {
backend upstream {
servidor 127.0.0.1:12345; # sustitúyalo por la dirección y el puerto de su servidor UDP
}
servidor {
listen 12345 udp; # El puerto en el que escucha Nginx
proxy_pass backend;
}
}
Guarde y cierre el archivo de configuración.
Paso 3: Verificar la configuración y reiniciar Nginx
Antes de recargar la configuración de Nginx, es una buena idea verificar que el archivo de configuración es correcto:
sudo nginx -t
Si no hay problemas con el archivo de configuración, verá un mensaje similar al siguiente:
nginx: la sintaxis del archivo de configuración /etc/nginx/nginx.conf es correcta
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf es correcta
A continuación, reinicie Nginx para aplicar la nueva configuración:
sudo systemctl restart nginx
Paso 4: Probar el proxy UDP
Ahora puedes comprobar que el proxy UDP de Nginx funciona correctamente. Puedes usar el comando nc
(netcat) para enviar paquetes UDP de prueba:
Enviar paquete de prueba
echo "Paquete UDP de prueba" | nc -u -w1 127.0.0.1 12345
Si su servidor UDP back-end recibe y procesa los paquetes con normalidad, la configuración del proxy UDP para Nginx se ha realizado correctamente.
resúmenes
Con los pasos anteriores, has configurado con éxito Nginx como proxy UDP.El poder de Nginx radica en su flexibilidad y alto rendimiento, no sólo en el manejo de tráfico HTTP, sino también en tareas de proxy UDP. Esperamos que este tutorial te ayude a aprovechar las capacidades de Nginx para proporcionar servicios proxy UDP fiables para tus aplicaciones.