Comment configurer et utiliser efficacement le gestionnaire de proxy Nginx

Commentaires: 0

Dans le cadre du développement web moderne et de l'administration des systèmes, l'installation de Nginx Proxy Manager est indispensable. Il facilite l'émission automatisée de certificats SSL et la configuration de serveurs intermédiaires inversés via une interface conviviale, allégeant ainsi le fardeau des systèmes de configuration complexes. Cela donne un avantage aux développeurs web, quel que soit leur niveau d'expérience. Voyons d'abord ce qu'implique NPM, en quoi il diffère du proxy Nginx standard et quels sont les problèmes qu'il résout.

Qu'est-ce que Nginx Proxy Manager?

Pour tirer le meilleur parti de cet outil, il est important de clarifier d'abord les différences entre le Nginx original, avec lequel il est souvent confondu, et le concept de proxy inverse.

Un système basé sur l'informatique dématérialisée proxy inverse facilite une myriade de fonctions critiques telles que le filtrage du trafic, l'équilibrage de la charge et la dissimulation au client du fonctionnement réel des serveurs internes. Cela permet d'améliorer la sécurité externe, la fiabilité interne et les performances globales. En d'autres termes, les proxys inversés sont des solutions côté serveur, par opposition aux proxys avancés qui opèrent côté client.

Il sert de logiciel pour un serveur intermédiaire de type inverse et de type courrier, un équilibreur de charge et un cache HTTP. Nginx Proxy Manager est une application construite à partir du code source original de Nginx. Il agit comme une couche de gestion supplémentaire qui administre les fonctions inverses.

Différences entre Nginx Proxy Manager et Nginx

Outre l'architecture et les principes de conception communs, Proxy Manager diffère de Nginx standard sur plusieurs points importants. Ces différences sont compilées dans le tableau comparatif résumé ci-dessous.

Fonctionnalité Gestionnaire de procuration Nginx
Management Interface Offre une interface graphique visuelle qui simplifie la configuration du serveur intermédiaire Géré via l'interface de programmation à l'aide de directives telles que proxy_pass, qui requièrent des compétences techniques plus approfondies.
SSL Management Le téléchargement et le renouvellement des certificats SSL sont automatisés Nécessite l'intervention manuelle d'un administrateur système
Accès à la configuration Limitée Accès complet via le terminal
Mises à jour Irrégulier Mises à jour régulières et soutien important de la communauté
Fonctionnalité Certaines fonctionnalités ne sont disponibles que dans des versions spécifiques Outils intégrés adaptés aux mises en œuvre complexes et personnalisées
Évolutivité Limité pour les infrastructures complexes à grande échelle Mieux adapté aux environnements d'entreprise évolutifs et aux systèmes à forte charge

Capacités du gestionnaire de proxy Nginx

Avant de configurer la proxie dans cet outil, il est préférable de passer en revue ses capacités fonctionnelles. Les principales caractéristiques sont les suivantes:

  • La configuration des serveurs intermédiaires se fait au moyen d'une interface appropriée et sans qu'il soit nécessaire d'éditer des fichiers de configuration fastidieux, ce qui simplifie les choses.
  • L'installation simplifiée des reverse proxies permet aux nouveaux venus de configurer le système plus rapidement.
  • Une automatisation efficace grâce à Let's Encrypt permet aux utilisateurs de suivre et de renouveler leurs certificats SSL automatiquement.
  • Les journaux et diverses statistiques sur les serveurs intermédiaires peuvent être consultés directement dans l'interface utilisateur.
  • Direct, contrôlant jusque dans les moindres détails l'existence ou non de redirections, la manipulation des noms de domaine, le traitement des requêtes HTTP ;
  • Le fait de couper l'accès à certaines ressources web par le biais de permissions renforce la sécurité des ressources web.

En clair, l'outil aide non seulement à configurer le proxy inverse dans Nginx, mais permet également à l'administrateur de restreindre l'accès aux ressources web en toute sécurité.

Exemples de cas d'utilisation du gestionnaire de proxy Nginx

La gestion centralisée de diverses applications est un exemple fonctionnel clé. Cette solution logicielle offre un tableau de bord unique à partir duquel un administrateur peut gérer:

  • tous les domaines ;
  • les certificats de sécurité ;
  • les paramètres du serveur intermédiaire inverse.

Par exemple, un administrateur système a la possibilité d'ajouter de nouveaux sites, de configurer HTTPS, de définir des redirections et de contrôler l'accès par le biais d'une interface de gestion centrale. L'utilisation d'une interface de gestion unifiée réduit les risques d'erreur et d'interruption de service qu'entraînent les modifications manuelles des fichiers de configuration.

En outre, l'installation de Nginx Proxy Manager peut renforcer la sécurité des ressources et des serveurs en nuage en les protégeant grâce à certaines de ses capacités intégrées telles que:

  • le cryptage du trafic entre l'utilisateur et le serveur ;
  • filtrage par adresse IP ;
  • paramètres pour les restrictions de nom d'utilisateur/mot de passe sur les pages ou les répertoires ;
  • reverse proxying pour masquer l'IP réelle du serveur.

Prenons l'exemple d'une entreprise qui possède des applications web (un site WordPress, une API REST, un panneau de contrôle) hébergées sur un VPS dans le nuage. Pour défendre ces apps contre les menaces externes et dissimuler la structure interne, un ingénieur DevOps configure l'outil comme décrit ci-dessus.

Exigences en matière d'installation

Tous les systèmes d'exploitation sont compatibles avec cet outil. Pour l'installer et le faire fonctionner, les configurations matérielles suivantes sont recommandées:

  • Au moins 1 Go de mémoire vive ;
  • Un processeur à 4 cœurs ou plus ;
  • Au moins 15 Go d'espace disque libre attaché.

En outre, il faut disposer d'informations d'identification de l'administrateur. Si l'on est connecté en tant qu'invité, il faudra redémarrer avec ces droits élevés ou les obtenir du propriétaire du PC.

Processus d'installation: Tutoriel sur le gestionnaire de proxy Nginx

  1. Visitez le site officiel du développeur. Il est recommandé de commencer par télécharger et installer Docker ainsi que Docker-Compose. Les deux paquets doivent être sauvegardés sur votre ordinateur.

    1en.png

  2. Ouvrez le terminal et tapez la commande suivante une fois que tout a été téléchargé:
    
    sudo apt install docker.io -y
    
  3. Tapez maintenant la commande suivante pour installer Docker-Compose:
    
    sudo apt install docker-compose -y
    
  4. Utilisez la commande suivante pour vérifier que l'installation s'est déroulée correctement:
    
    docker --version
    docker-compose --version
    
  5. Tapez ceci pour créer un répertoire qui contiendra l'outil. Sous Windows, un nouveau dossier peut être créé en cliquant avec le bouton droit de la souris, sous Linux:
    
    mkdir ~/npm && cd ~/npm
    
  6. Dans ce répertoire, tapez les commandes pour créer le fichier docker-compose.yml. Pour Windows, cliquez avec le bouton droit de la souris > Nouveau > Choisissez Notepad, puis nommez le fichier:

    2en.png

  7. Utilisation de Linux/Ubuntu:
    
    nano docker-compose.yml
    
  8. Pour l'une ou l'autre option, inclure les données suivantes:
    
    version: '3'
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        restart: always
        ports:
          - '80:80'
          - '81:81'
          - '443:443'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
    
  9. Enregistrez le fichier et démarrez le conteneur:
    
    docker-compose up -d
    
  10. Lancez votre navigateur web préféré et tapez l'adresse du serveur avec le port que vous avez configuré. Dans cet exemple, nous avons utilisé le port 81:
    
    https://IP-address:port
    
  11. Lorsque le site est en place, l'écran de connexion devrait apparaître. Utilisez les identifiants par défaut du site du développeur pour vous connecter:
    
    Email: admin@example.com
    Password: changeme
    
  12. Le système vous demandera de les modifier après la première tentative de connexion.

    3en.png

Voilà, l'installation s'est déroulée avec succès.

Comment utiliser correctement le gestionnaire de proxy Nginx

La configuration comporte trois étapes principales:

  • Configuration du gestionnaire de proxy inverse Nginx ;
  • Installation du certificat SSL ;
  • Configuration de l'autorisation.

Voyons comment cela peut être mis en œuvre étape par étape.

Configuration d'un hôte proxy

Naviguez jusqu'à la section "Proxy Hosts", puis sélectionnez "Add Proxy Host". Une boîte de dialogue contenant ces entrées s'affiche:

  • Forward Hostname/IP - nom interne (par exemple, 82.211.7.97) ou adresse IP.
  • Port de transfert - 80, 50100 ou tout autre port permettant de diriger le trafic.
  • Noms de domaine - domaine actif ou inactif (test), par exemple test.domain.com.
  • Scheme - HTTP ou HTTPS, déterminé par le type de connexion du serveur interne.
  • Bloquer les exploits courants - protège contre les vulnérabilités les plus courantes si la case est cochée.
  • Support Websockets - cochez cette case si votre service fonctionne avec des WebSockets.

4en.png

Configuration d'un certificat SSL

Dans la même fenêtre, naviguez jusqu'à la section "SSL". Sélectionnez "Demander un nouveau certificat SSL" et activez les options suivantes:

  • Forcer SSL - pour imposer le protocole HTTPS à toutes les connexions.
  • Support HTTP/2 - optionnel, pour l'amélioration des performances.
  • Accepter les conditions d'utilisation de Let's Encrypt - obligatoire pour obtenir le certificat SSL gratuit.

Cliquez sur "Enregistrer". Le certificat sera automatiquement demandé et installé.

5en.png

Autorisation

Pour créer une nouvelle liste d'accès dans Nginx Proxy Manager, allez dans la section "Détails". Attribuez un nom comme "users". Notez le paramètre "Satisfaire à tout" - s'il n'est pas coché, les utilisateurs doivent remplir toutes les conditions d'accès (authentification et correspondance IP), ce qui est plus sûr.

6en.png

Dans la section "Autorisation", indiquez quels utilisateurs doivent avoir accès au site et, pour chacun d'entre eux, définissez un nom d'utilisateur et un mot de passe - il s'agit de l'authentification HTTP de base pour accéder au site.

7en.png

Dans l'onglet "Accès", saisissez les adresses IP dont l'accès est autorisé ou bloqué. Cela permet d'appliquer l'accès en fonction des politiques du réseau de l'entreprise.

8en.png

Une fois la liste d'accès créée, retournez dans les paramètres de l'hôte cible et appliquez la liste d'accès nouvellement créée dans le champ "Liste d'accès". À partir de ce moment, l'authentification de l'utilisateur sera requise pour le site et l'accès ne sera accordé que si toutes les conditions sont remplies.

Conclusion

En examinant ce guide sur Nginx Proxy Manager, il est évident qu'il s'agit d'un outil multifonctionnel permettant de mettre en place des proxys inversés, de gérer la sécurité SSL et de contrôler l'accès aux ressources en nuage. Il est particulièrement utile pour les développeurs et les administrateurs de systèmes qui ont besoin d'un contrôle centralisé et sécurisé de dizaines de sites web et de services, ainsi que pour un usage personnel, comme le déploiement d'un serveur domestique (NAS) ou la fourniture d'un accès à distance sécurisé à un réseau local.

Les principaux avantages de ce gestionnaire sont sa large compatibilité avec tous les systèmes d'exploitation, sa gestion simplifiée qui ne nécessite pas d'interaction avec la ligne de commande, et la configuration rapide des proxies et de SSL, qui sont quelques-uns de ses principaux avantages.

Commentaires:

0 Commentaires