Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2017
    Messages : 7
    Points : 3
    Points
    3

    Par défaut Impossible de faire fonctionner mon serveur (docker-compose, nginx..)

    Bonjour à tous,

    Je ne parvient pas à faire fonctionner mon serveur sous docker et découvrant ce système, du haut de mes minces compétences en administration réseau, je ne parvient pas à trouver de solution, ni même les raisons à ce dysfonctionnement.
    Ne sachant pas vraiment d'où vient mon problème, il est possible que je ne soit pas dans la bonne section. Veuillez m'en excuser si tel est le cas.
    Toute mes excuses également pour le titre du topic qui n'est pas très précis.

    Contexte :
    Je me suis assemblé un serveur sous Debian sur lequel j'ai installé Docker (et docker-compose) pour pouvoir bénéficier du système de containers. J'aimerais continuer sur cette piste, aussi, je ne suis pour l'instant pas intéressé par les "solutions" consistant à faire sans Docker. Merci de votre compréhension sur ce point.

    Docker-compose
    Voici mon fichier de configuration docker-compose (j'ai bien-sûr censuré toutes les informations sensibles : mots de passes, nom de domaine...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    version: '2'
    services:
      # Serveur Web : NGINX
      nginx:
        container_name: nginx
        image: nginx
        logging:
          driver: "json-file"
          options:
            max-size: "50m"
            max-file: "10"
        ports:
          - "80:80"
          - "443:443"
        restart: always
        volumes:
          - /data/Config/nginx/certs:/etc/nginx/certs
          - /data/Config/nginx/vhost.d:/etc/nginx/vhost.d
          - /data/Config/nginx/conf.d:/etc/nginx/conf.d
          - /data/Config/nginx/html:/usr/share/nginx/html
    
      # Génère les fichiers de config à NGINX
      docker-gen:
        container_name: nginx-generator
        image: jwilder/docker-gen
        restart: unless-stopped
        command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
        logging:
          driver: "json-file"
          options:
            max-size: "50m"
            max-file: "10"
        volumes_from:
          - nginx
        volumes:
          - /var/run/docker.sock:/tmp/docker.sock
          - /data/Config/nginx/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl
    
      # Gère Let's Encrypt avec NGYNX
      nginx-letsencrypt:
        container_name: nginx-letsencrypt
        image: alastaircoote/docker-letsencrypt-nginx-proxy-companion
        restart: unless-stopped
        logging:
          driver: "json-file"
          options:
            max-size: "50m"
            max-file: "10"
        volumes_from:
          - nginx
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
    
      # Bases de données : MySQL
      mysql:
        container_name: mysql
        image: mysql:latest
        restart: unless-stopped
        environment:
          - MYSQL_ROOT_PASSWORD=***
        volumes:
          - /data/mysql:/var/lib/mysql
      
      # Bases de données : PHPMyAdmin
      phpmyadmin:
        container_name: phpmyadmin
        image: phpmyadmin/phpmyadmin
        restart: unless-stopped
        environment:
          - PMA_HOST=mysql
          - VIRTUAL_HOST=phpmyadmin.***.fr
          - LETSENCRYPT_HOST=phpmyadmin.***.fr
          - LETSENCRYPT_EMAIL=contact@***.fr
      
      # OwnCloud : Cloud libre
      owncloud:
        container_name: owncloud
        image: owncloud:latest
        restart: unless-stopped
        environment:
          - VIRTUAL_HOST=cloud.***.fr
          - LETSENCRYPT_HOST=cloud.***.fr
          - LETSENCRYPT_EMAIL=contact@***.fr
        volumes:
          - /data/Config/owncloud:/var/www/html/config
          - /data/Config/owncloud:/var/www/html/data
          - /data:/home
      
      # Subsonic : Streaming audio
      subsonic:
        container_name: subsonic
        image: hurricane/subsonic
        restart: unless-stopped
        environment:
          - VIRTUAL_HOST=subsonic.***.fr
          - VIRTUAL_PORT=80
          - LETSENCRYPT_HOST=subsonic.***.fr
          - LETSENCRYPT_EMAIL=contact@***.fr
          - TZ=Europe/Paris
          - MAX_MEM=1024
          - HTTP_PORT=80
        volumes:
          - /data/Config/subsonic:/subsonic
          - /data/Musique:/music
    
      # jDownloader : Gestionnaire de téléchargements directs (https://github.com/jlesage/docker-jdownloader-2#docker-compose-file)
      jdownloader-2:
        container_name: jdownloader-2
        image: jlesage/jdownloader-2
        restart: unless-stopped
        ports:
          - "5800:5800"
        environment:
        - VIRTUAL_HOST=jdownloader.***.fr
        - VIRTUAL_PORT=5800
        - LETSENCRYPT_HOST=jdownloader.***.fr
        - LETSENCRYPT_EMAIL=contact@***.fr
        volumes:
          - /data/Config/jdownloader-2:/config:rw
          - /data/Telechargements:/output:rw
    Une fois le fichier modifié, le lance un docker-compose up -d depuis le répertoire dans lequel se situe le fichier.

    Connexion
    Mon serveur est relié à internet via une Freebox dont l'administration est possible en WAN mais sur un port différent du 80.
    J'ai configuré les redirections des ports 22, 80, et 443, toutes en TCP, sur les ports correspondant de mon serveur.
    J'accède à mon serveur en WAN avec SSH sans problème.

    Problème :
    Lorsque j'essaie de me connecter par exemple sur subsonic.***.fr (testé sur les autres url aussi: cloud, phpmyadmin...), mon navigateur me dit que le site n'autorise pas la connexion.

    Pistes :
    • Je dirais que la redirection de port fonctionne puisque SSH fonctionne (port 22), mais je ne connais aucun moyen de vérifier ça de façon fiable.
    • N'y a-t-il pas besoin d'ouvrir les ports sur le serveur ? Je crois qu'il y a quelque chose avec iptables mais je ne sais pas trop... Docker ne gère-t-il pas ça tout seul avec les ports fournis à nginx dans le docker-compose ?


    J'espère avoir fourni suffisamment d'informations.
    Dans l'espoir de finir par trouver une solution, je vous remercie pour votre aide précieuse.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    11 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 11 165
    Points : 25 060
    Points
    25 060

    Par défaut

    Est-ce que ça marche en interne avec le port 80 ou 443 ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2017
    Messages : 7
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par chrtophe Voir le message
    Est-ce que ça marche en interne avec le port 80 ou 443 ?
    Merci pour la réponse
    Alors en fait je sais pas comment tester en local, comme nginx utilise les ndd pour rediriger sur tel ou tel container...
    Si vous savez comment je peux tester ça je suis preneur, ça me permettra de savoir si ça vient du serveur ou de la Freebox au moins...

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    11 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 11 165
    Points : 25 060
    Points
    25 060

    Par défaut

    Pour ne pas toucher la config, faire des entrées dans le fichier hosts de la machine qui fera les tests et netrer le fqdn et l'adresse IP LAN du/des conteneurs.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2017
    Messages : 7
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par chrtophe Voir le message
    Pour ne pas toucher la config, faire des entrées dans le fichier hosts de la machine qui fera les tests et netrer le fqdn et l'adresse IP LAN du/des conteneurs.
    D'accord merci, j'essaierai ça la semaine prochaine car je en suis pas chez moi ce week-end.
    Concernant l'adresse IP LAN des containers, vous parlez de l'IP LAN du serveur, c'est bien ça ?

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    11 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 11 165
    Points : 25 060
    Points
    25 060

    Par défaut

    L'adresse à laquelle les conteneurs répondent.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2017
    Messages : 7
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par chrtophe Voir le message
    L'adresse à laquelle les conteneurs répondent.
    Alors, sur une machine Windows 10, dans le fichier C:\\Windows\System32\drivers\etc\hosts, j'ai ajouté la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    192.168.1.1     subsonic.***.fr
    192.168.1.1 étant l'adresse IP de mon serveur sur le réseau local.

    J'ai ensuite tenté de me connecter sur subsonic.***.fr avec mon navigateur et j'ai eu le même message de connexion non autorisée.
    Si j'ai effectué la bonne manipulation, cela veut dire que le problème vient bien du serveur. Je vois deux possibilité :
    • Soit nginx bloque la requête et ne renvoie pas sur le container
    • Soit nginx ne reçoit même pas la requête

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    11 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 11 165
    Points : 25 060
    Points
    25 060

    Par défaut

    Je ne connais pas la config de nginx.

    Il te faut vérifier que :
    - le nginx du conteneur écoute écoute bien sur le port 80 (ou 443, ou autre)
    - que les viriualhosts (ou équivalent nginx) soient correctement configurés
    - que les réglages réseaux du conteneur soit correctement paramétré.

    Si tu ne peux pas y accéder depuis ton LAN, c'est pas la peine de regarder du coté WAN.

    Si c'est un msg de type forbidden, c'est au niveau de la con nginx qu'il faut regarder.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2017
    Messages : 7
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par chrtophe Voir le message
    Je ne connais pas la config de nginx.

    Il te faut vérifier que :
    - le nginx du conteneur écoute écoute bien sur le port 80 (ou 443, ou autre)
    - que les viriualhosts (ou équivalent nginx) soient correctement configurés
    - que les réglages réseaux du conteneur soit correctement paramétré.

    Si tu ne peux pas y accéder depuis ton LAN, c'est pas la peine de regarder du coté WAN.

    Si c'est un msg de type forbidden, c'est au niveau de la con nginx qu'il faut regarder.
    Merci. Malheureusement je ne connais pas suffisamment docker ni nginx pour répondre à ces questions.
    Pour l'écoute sur les ports, c'est sensé etre géré par la config définie dans le docker-compose.yml.
    Concernant les virtualhosts et les réglages réseaux, je ne sais pas vraiment de quoi vous voulez parler...

Discussions similaires

  1. Réponses: 16
    Dernier message: 29/01/2015, 13h50
  2. [Vista][IIS7] Impossible de faire fonctionner mon site
    Par FoxDeltaSierra dans le forum IIS
    Réponses: 2
    Dernier message: 21/02/2009, 23h37
  3. Réponses: 5
    Dernier message: 22/03/2006, 10h39
  4. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 14h27
  5. Réponses: 5
    Dernier message: 02/09/2004, 19h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo