Installer un NGINX reverse proxy sur Ubuntu 22.04 : comment s’y prendre ?

Utiliser NGINX est une option très répandue et vivement recommandée pour ses performances, sa flexibilité et sa capacité à sécuriser les connexions. Pour mettre en place cette solution, il suffit d’installer NGINX, de créer un fichier de configuration et d’adapter les paramètres du serveur. De plus, vous pouvez tester la configuration de votre reverse proxy en utilisant Gunicorn.

Installer et configurer un reverse proxy NGINX sous Ubuntu 22.04

Pour disposer d’un serveur Internet sécurisé, flexible et peu gourmand en ressources, le recours à un reverse proxy peut être judicieux. Celui-ci s’intercale entre le client et le serveur Ubuntu, sans que les visiteurs s’aperçoivent de l’utilisation du médiateur de requêtes. Aussi, le NGINX reverse proxy est-il une solution très appréciable pour toutes les requêtes entrantes. Découvrons ensemble comment l’installer et le configurer sous Ubuntu 22.04.

Conseil

Dans notre Digital Guide, vous trouverez également des instructions sur l’installation de NGINX sous Ubuntu 20.04 et des explications détaillées sur ce qu’est un serveur proxy.

Quelles sont les conditions préalables à une installation réussie ?

Pour pouvoir configurer un NGINX reverse proxy sous Ubuntu 22.04, les éléments suivants sont indispensables :

  • Un serveur Ubuntu installé et configuré
  • L’adresse IP ou le socket de domaine Unix du serveur
  • Le domaine de votre serveur
  • Les privilèges sudo pour le serveur
Managed Nextcloud de IONOS Cloud
Travaillez en équipe dans votre propre Cloud
  • Sécurité des données
  • Outils de collaboration intégrés
  • Hébergement dans des data centers européens

Comment installer NGINX comme reverse proxy ?

Dans un premier temps, mettez à jour votre référentiel via Terminal afin d’avoir accès aux tout derniers paquets. Installez ensuite NGINX avec la commande apt install. Voici le code approprié :

$ sudo apt update
$ sudo apt install nginx
bash

Confirmez avec [Y] et appuyez sur [Enter] pour valider les paramètres.

Dans l’étape suivante, configurez votre pare-feu de façon que NGINX puisse accéder à votre serveur. Pour ce faire, ajoutez une exception avec la commande suivante :

$ sudo ufw allow 'Nginx HTTP'
bash

Pour finir, vérifiez que l’installation de NGINX a réussi. Saisissez la commande suivante :

$ systemctl status nginx
bash

Si NGINX a été installé correctement, le résultat suivant sera généré :

nginx.service - A high performance web server and a reverse proxy server
      Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
         Docs: man:nginx(8)
    Main PID: 9919 (nginx)
        Tasks: 2 (limit: 2327)
      Memory: 2.9M
          CPU: 50ms
      CGroup: /system.slice/nginx.service
                 ├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
                 └─9920 "nginx: worker process"
bash

Comment adapter le serveur ?

Il s’agit maintenant de configurer votre bloc serveur afin de préparer le NGINX reverse proxy de manière optimale pour votre système. Pour cela, créez et ouvrez un nouveau fichier de configuration avec l’éditeur de texte nano. Saisissez la commande suivante, en remplaçant « votre_domaine » par le nom réel de votre domaine :

$ sudo nano /etc/nginx/sites-available/votre_domaine
bash

Une fois le fichier ouvert, insérez le contenu suivant. Remplacez « votre_domaine » et « adresse_serveur » par le domaine et l’IP ou le socket de domaine Unix de votre serveur :

server {
    listen 80;
    listen [::]:80;
    server_name votre_domaine www.votre_domaine;
        
    location / {
        proxy_pass http://server_adresse;
        include /etc/nginx/proxy_params;
    }
}
txt

Enregistrez et fermez le fichier. Le contenu affiché est une configuration typique pour un reverse proxy avec NGINX. Le port 80 est utilisé pour réagir aux demandes de votre domaine et de votre serveur. Le composant proxy_pass est essentiel pour que NGINX fonctionne comme reverse proxy. Le cas échéant, vous pouvez également configurer des serveurs supplémentaires.

Créez ensuite un lien vers le répertoire sites-enabled, auquel NGINX accède au début. Pour cela, utilisez la commande suivante en remplaçant à nouveau « votre_domaine » :

$ sudo ln -s /etc/nginx/sites-available/votre_domaine/ etc/nginx/sites-enabled/
bash

Vérifiez que votre configuration ne comporte pas d’erreurs :

$ sudo nginx -t
bash

Si aucun message d’erreur ne s’affiche, vous pouvez redémarrer le NGINX reverse proxy afin de confirmer tous les paramètres. Pour ce faire, saisissez la commande suivante :

$ sudo systemctl restart nginx
bash

La configuration de NGINX en tant que reverse proxy est désormais terminée. Dans la section suivante, nous vous verrons comment tester le proxy. Toutefois, ce test n’est pas obligatoire.

Comment vérifier si le NGINX reverse proxy fonctionne correctement ?

Pour tester votre NGINX reverse proxy, vous pouvez, en principe, utiliser votre serveur. Il suffit de l’appeler via le shell. Vous pouvez aussi utiliser le serveur Internet HTTP Gunicorn qui se combine très bien avec le NGINX reverse proxy. Mettez d’abord à jour les paquets et installez le serveur :

$ sudo apt update
$ sudo apt install gunicorn
bash

Ensuite, créez une fonction simple qui sera envoyée à votre navigateur sous forme de réponse HTTP. Utilisez à nouveau nano à cet effet :

$ nano test.py
bash

Ouvrez le fichier et saisissez le code suivant :

def app(environ, start_response):
	start_response("200 OK", [])
	return iter([b"Ceci est un test"])
txt

Ensuite, enregistrez et fermez le fichier, lancez Gunicorn et appelez le module de test :

$ gunicorn --worker=2 test:app
bash

Le résultat devrait ressembler à peu de choses à ceci :

[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1:8000 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570
bash

Ceci est la confirmation que Gunicorn interagit avec l’adresse par défaut http://127.0.0.1:8000. Pour finir, ouvrez votre navigateur et accédez au domaine que vous avez configuré avec NGINX. À présent, le NGINX reverse proxy affiche le message suivant : « Ceci est un test ».

Cet article vous a-t-il été utile ?
Page top