More

    Installer un reverse proxy sur Debian avec Nginx Proxy Manager

    Un proxy inversé (reverse proxy) est un serveur placé en amont d’un ou plusieurs serveurs web. Son rôle est de fournir une passerelle entre Internet et le réseau local. L’utilisateur du Web passe par son intermédiaire pour accéder aux applications de serveurs internes.

    Dans cet article nous allons mettre en place un reverse proxy en utilisant le projet docker Nginx Proxy Manager qui contient un serveur Nginx couplé à une web interface développée par Jamie Curnow.

    Quel est l’intérêt?

    Il peut y avoir pas mal de raison qui peuvent conduire à utiliser un reverse proxy et plus particulièrement le projet Nginx Proxy Manager, voici une liste de ses avantages:

    • Rendre accessible depuis le Web des serveurs et services (Web, jeu, mail …) présent sur votre réseau local sans les exposés directement à internet.
    • La prise en charge intégrée de Let’s Encrypt qui vous permet de sécuriser avec HTTPS vos services Web sans frais. Les certificats se renouvellent même automatiquement.
    • Une image Docker déployable rapidement avec une interface graphique facile d’utilisation.
    • Possibilité d’exposer des services à des personnes spécifiques avec possibilité de gérer des utilisateurs et des droits d’accès à tel ou tel service.

    Prérequis

    Installation de Nginx Proxy Manager

    Pour commencer, nous allons créer le dossier dans lequel sera installé notre container docker:

    mkdir nginx-proxy-manager
    

    Maintenant nous allons créer le script de config docker-compose.yml dans notre dossier nginx-proxy-manager.

    cd nginx-proxy-manager/ && nano docker-compose.yml
    

    Nous allons copier dans le fichier le code suivant:

    version: '3'
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        ports:
          - '80:80'
          - '81:81'
          - '443:443'
        environment:
          DB_MYSQL_HOST: "db"
          DB_MYSQL_PORT: 3306
          DB_MYSQL_USER: "npm"
          DB_MYSQL_PASSWORD: "npm"
          DB_MYSQL_NAME: "npm"
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
      db:
        image: 'jc21/mariadb-aria:latest'
        environment:
          MYSQL_ROOT_PASSWORD: 'npm'
          MYSQL_DATABASE: 'npm'
          MYSQL_USER: 'npm'
          MYSQL_PASSWORD: 'npm'
        volumes:
          - ./data/mysql:/var/lib/mysql

    Il est déconseillé de modifier les aux ports 80 et 443. Le port 81 lui peut être modifier, il sera utilisé pour l’accès à l’interface web de Nginx Proxy Manager (ex http://192.168.1.10:81). Noter qu’il ne vaut mieux pas ouvrir se port dans votre box ou routeur. L’accès à la page d’administration de votre reverses proxy depuis l’extérieur est vivement déconseillé.

    Si par exemple vous souhaiter utiliser le port 8080 à la place du 81 pour administrer votre reverse proxy, remplacez  – ’81:81′ par  – ‘8080:81’.

    Pour enregistrer notre script faites CTRL + X puis Y et enfin validez par Entrée.

    Pour finir, nous allons exécuter le script de déploiement avec la commande:

    sudo docker-compose up -d
    

    Le téléchargement des images et leur déploiement va alors débuter. Notez que cette opération peut prendre plusieurs minutes en fonction de votre connexion internet.

    Une fois le déploiement terminer vous devriez obtenir les messages suivants:

    Creating nginx-proxy-manager_app_1_fab5a3ab86cd ... done
    Creating nginx-proxy-manager_db_1_19273c3c978f ... done
    

    L’installation est donc terminée. Connectez-vous sur l’adresse IP de votre serveur avec le port d’administration (81 par défaut).

    http://192.XX.XX.XX:81

    Pour votre première connexion , les identifiants du compte Admin temporaires sont:

    Email: [email protected]
    Password: changeme

    Après connexion il vous sera demandé de créer un compte nouveau compte.

    Nous voilà enfin sur l’interface d’administration de Nginx Proxy Manager:

    Offrez-moi un café 😉

    Jonathan
    Jonathanhttps://pratiquepc.fr/
    Technicien, responsable atelier dans une ESN (Entreprise de services du numérique) de la région Paloise (64). Fondateur de Pratique PC. Je souhaite partager ma passion et mon expérience.

    Laisser un commentaire

    Saisissez votre commentaire
    Saisissez votre nom

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

    Derniers Articles

    Suivez-nous!

    145FansJ'aime
    56SuiveursSuivre
    140SuiveursSuivre
    7,660AbonnésS'abonner