Nginx est généralement utilisé comme serveur HTTP et reverse proxy haute performance pour gérer le trafic HTTP et HTTPS. Cependant, Nginx peut également être configuré en tant que proxy UDP, ce qui est utile dans des scénarios d'application tels que la gestion des DNS, la communication en temps réel et le streaming vidéo. Cet article explique comment construire un proxy UDP en utilisant Nginx.
conditions préalables
Avant de commencer, assurez-vous d'avoir effectué les préparatifs suivants :
- Un serveur fonctionnant sous un système d'exploitation Linux (par exemple Ubuntu ou CentOS)
- Installation et configuration de Nginx
- Avec les privilèges sudo ou root
Étape 1 : Installer Nginx
Si vous n'avez pas encore installé Nginx, vous pouvez le faire avec la commande suivante :
Ubuntu
sudo apt update
sudo apt install nginx
CentOS
sudo yum install epel-release
sudo yum install nginx
Étape 2 : Configurer Nginx pour qu'il prenne en charge UDP
Par défaut, Nginx ne supporte pas les proxys UDP. Par conséquent, nous devons nous assurer que Nginx est compilé avec l'option flux
module. La plupart des versions modernes de Nginx incluent déjà ce module.
Tout d'abord, ouvrez le fichier de configuration de Nginx pour l'éditer :
sudo nano /etc/nginx/nginx.conf
Dans le fichier de configuration, trouvez le champ http
assurez-vous d'ajouter le bloc flux
Configuration du module :
backend en amont {
upstream backend {
server 127.0.0.1:12345 ; # remplacer par l'adresse et le port de votre serveur UDP
}
server {
listen 12345 udp ; # Le port sur lequel Nginx écoute
proxy_pass backend ;
}
}
Enregistrez et fermez le fichier de configuration.
Étape 3 : Vérification de la configuration et redémarrage de Nginx
Avant de recharger la configuration de Nginx, il est conseillé de vérifier que le fichier de configuration est correct :
sudo nginx -t
Si le fichier de configuration ne présente aucun problème, un message similaire à celui qui suit s'affiche :
nginx : la syntaxe du fichier de configuration /etc/nginx/nginx.conf est ok
nginx : le test du fichier de configuration /etc/nginx/nginx.conf est réussi
Redémarrez ensuite Nginx pour appliquer la nouvelle configuration :
sudo systemctl restart nginx
Étape 4 : Test du proxy UDP
Vous pouvez maintenant tester que le proxy UDP de Nginx fonctionne correctement. Vous pouvez utiliser l'outil nc
(netcat) pour envoyer des paquets UDP à des fins de test :
Envoi d'un paquet test
echo "Test UDP packet" | nc -u -w1 127.0.0.1 12345
Si votre serveur UDP dorsal reçoit et traite les paquets normalement, la configuration du proxy UDP pour Nginx est réussie.
résumés
La puissance de Nginx réside dans sa flexibilité et sa haute performance, non seulement dans la gestion du trafic HTTP, mais aussi dans les tâches de proxy UDP. Nous espérons que ce tutoriel vous aidera à tirer profit des capacités de Nginx pour fournir des services de proxy UDP fiables pour vos applications.