Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/06/2016, à 15:18

HPIR40

soucis avec docker, reverse proxy apache et nginx

Bonjour

Je m'adresse à vous car j'ai un beau soucis de communication entre mon reverse proxy apache et une VM avec docker et je n'arrive pas à m'en sortir depuis 2 semaines.

J'espère donc trouver de l'aide ici car sur Forums.docker comme chez Loomio aucune réponse.

Voila les infos:

la configuration réseau est comme suit:

172.16.0.15 est ma VM apache reverse proxy en ip fixe
172.16.0.85 est ma VM (ubuntu server 14.04 LTS) en ip fixe qui héberge loomio avec docker
172.17.0.xxx est la plage ip docker hébergé par ma VM 172.16.0.85

172.16.0.15 contacte sans problème la VM 172.16.0.85 et loomio répond sans soucis. Il est pleinement opérationnel en http et https et fonctionne sur le réseau.

voila d'ailleurs la configuration réseau de la VM qui héberge loomio

    docker0   Link encap:Ethernet  HWaddr 02:42:08:6d:dc:00
              inet adr:172.17.0.1  Bcast:0.0.0.0  Masque:255.255.0.0
              adr inet6: fe80::42:8ff:fe6d:dc00/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:27983 erreurs:0 :0 overruns:0 frame:0
              TX packets:32649 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:34422152 (34.4 MB) Octets transmis:14697907 (14.6 MB)
eth0      Link encap:Ethernet  HWaddr 00:15:5d:00:02:27
              inet adr:172.16.0.85  Bcast:172.16.0.255  Masque:255.255.255.0
              adr inet6: fe80::215:5dff:fe00:227/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:281033 erreurs:0 :0 overruns:0 frame:0
              TX packets:41802 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:1000
              Octets reçus:53750761 (53.7 MB) Octets transmis:43144793 (43.1 MB)
lo        Link encap:Boucle locale
              inet adr:127.0.0.1  Masque:255.0.0.0
              adr inet6: ::1/128 Scope:Hôte
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:0 (0.0  Octets transmis:0 (0.0 
veth0256652 Link encap:Ethernet  HWaddr 62:f0:9b:58:f6:82
              adr inet6: fe80::60f0:9bff:fe58:f682/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:11 erreurs:0 :0 overruns:0 frame:0
              TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:806 (806.0  Octets transmis:6808 (6.8 KB)
veth275b50c Link encap:Ethernet  HWaddr ce:a2:fd:c5:22:d8
              adr inet6: fe80::cca2:fdff:fec5:22d8/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:42715 erreurs:0 :0 overruns:0 frame:0
              TX packets:39880 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:26363606 (26.3 MB) Octets transmis:22338487 (22.3 MB)
veth616846c Link encap:Ethernet  HWaddr ca:a5:e9:d1:6f:12
              adr inet6: fe80::c8a5:e9ff:fed1:6f12/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:41002 erreurs:0 :0 overruns:0 frame:0
              TX packets:22936 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:11893852 (11.8 MB) Octets transmis:12705718 (12.7 MB)
veth6a027a8 Link encap:Ethernet  HWaddr a2:66:b3:e8:a7:39
              adr inet6: fe80::a066:b3ff:fee8:a739/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:39717 erreurs:0 :0 overruns:0 frame:0
              TX packets:65467 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:27534142 (27.5 MB) Octets transmis:15804611 (15.8 MB)
veth7e4b7d2 Link encap:Ethernet  HWaddr fef5:c3:b0:e3
              adr inet6: fe80::fcae:f5ff:fec3:b0e3/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:8 erreurs:0 :0 overruns:0 frame:0
              TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:648 (648.0  Octets transmis:5966 (5.9 KB)
vetha59ebbf Link encap:Ethernet  HWaddr 2a:ef:c8:0e:90:e7
              adr inet6: fe80::28ef:c8ff:fe0e:90e7/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:46 erreurs:0 :0 overruns:0 frame:0
              TX packets:137 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:4085 (4.0 KB) Octets transmis:12561 (12.5 KB)
vethfe379a4 Link encap:Ethernet  HWaddr ea:b5:20:f1:29:30
              adr inet6: fe80::e8b5:20ff:fef1:2930/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:37055 erreurs:0 :0 overruns:0 frame:0
              TX packets:35968 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:31354010 (31.3 MB) Octets transmis:29548419 (29.5 MB)

voila l'iptable de ma VM

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    DOCKER-ISOLATION  all  --  anywhere             anywhere
    DOCKER     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    Chain DOCKER (1 references)
    target     prot opt source               destination
    ACCEPT     tcp  --  anywhere             172.17.0.6           tcp dpt:prospero-np
    ACCEPT     tcp  --  anywhere             172.17.0.7           tcp dpt:https
    ACCEPT     tcp  --  anywhere             172.17.0.7           tcp dpt:http
    Chain DOCKER-ISOLATION (1 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere

Le résultat de docker ps sur la vm

    docker ps
    CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS              PORTS                                      NAMES
    78b613fbfd13        jrcs/letsencrypt-nginx-proxy-companion   "/bin/bash /app/entry"   4 days ago          Up 4 days                                                      loomiodeploy_letsencrypt_1
    8fdffc733c98        jwilder/nginx-proxy                      "/app/docker-entrypoi"   4 days ago          Up 4 days           0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   loomiodeploy_nginx_1
    4316c234e4a4        loomio/mailin-docker                     "/bin/sh -c 'mailin -"   4 days ago          Up 4 days           25/tcp, 0.0.0.0:32771->1525/tcp            loomiodeploy_mailin_1
    2802fe7ed964        loomio/loomio                            "/bin/sh -c 'bundle e"   4 days ago          Up 4 days           3000/tcp                                   loomiodeploy_loomio_1
    ea4d32fe9d68        loomio/loomio                            "bundle exec rake job"   4 days ago          Up 4 days           3000/tcp                                   loomiodeploy_worker_1
    89092afa104f        postgres                                 "/docker-entrypoint.s"   4 days ago          Up 4 days           5432/tcp                                   loomiodeploy_db_1
    8d5c3c389839        loomiodeploy_faye                        "/bin/sh -c 'thin --p"   4 days ago          Up 4 days           3000/tcp                                   loomiodeploy_faye_1

et la configuration du reverseproxy apache qui fait le lien WAN vers la vm hébergeant loomio

    ## Config reverse proxy loomio ##
    <VirtualHost 172.16.0.15:80>
         ServerName loomio.domain.lan
         ServerAlias loomio.domain.com
         ProxyPreserveHost On
         ProxyRequests off
         ProxyPass / http://172.16.0.85:80/
         ProxyPassReverse / http://172.16.0.85:80/
         ErrorLog /var/log/apache2/loomio-error.log
         LogLevel warn
         CustomLog /var/log/apache2/loomio-access.log combined
    </VirtualHost>
    <VirtualHost 172.16.0.15:443>
         ServerName loomio.domain.lan
         ServerAlias loomio.domain.com
         SSLEngine On
         SSLCertificateFile /etc/apache2/SSL/loomio.pem
         SSLCertificateKeyFile /etc/apache2/SSL/loomio.key
         ErrorLog /var/log/apache2/loomio-error.log
         LogLevel warn
         CustomLog /var/log/apache2/loomio-access.log combined
         SSLProxyEngine On
         SSLProxyVerify none
         SSLProxyCheckPeerCN off
         SSLProxyCheckPeerName off
         SSLProxyCheckPeerExpire off
         ProxyRequests     Off
         ProxyPreserveHost On
         ProxyPass         / https://172.16.0.85:443/ keepalive=On retry=5
         ProxyPassReverse  / https://172.16.0.85:443/
    </VirtualHost>
    <VirtualHost 172.16.0.15:80>
         ServerName faye.loomio.domain.lan
         ServerAlias faye.loomio.domain.com
         ProxyPreserveHost On
         ProxyRequests off
         ProxyPass / http://172.16.0.85:80/
         ProxyPassReverse / http://172.16.0.85:80/
         ErrorLog /var/log/apache2/loomio-error.log
         LogLevel warn
         CustomLog /var/log/apache2/loomio-access.log combined
    </VirtualHost>
    <VirtualHost 172.16.0.15:443>
         ServerName faye.loomio.domain.lan
         ServerAlias faye.loomio.domain.com
         SSLEngine On
         SSLCertificateFile /etc/apache2/SSL/loomio.pem
         SSLCertificateKeyFile /etc/apache2/SSL/loomio.key
         ErrorLog /var/log/apache2/loomio-error.log
         LogLevel warn
         CustomLog /var/log/apache2/loomio-access.log combined
         SSLProxyEngine On
         SSLProxyVerify none
         SSLProxyCheckPeerCN off
         SSLProxyCheckPeerName off
         SSLProxyCheckPeerExpire off
         ProxyRequests     Off
         ProxyPreserveHost On
         ProxyPass         / https://172.16.0.85:443/ keepalive=On retry=5
         ProxyPassReverse  / https://172.16.0.85:443/
    </VirtualHost>

Le problème c'est que j'ai ce type d'erreur dans les logs de loomio

    nginx_1
           | nginx.1    | 2016/06/01 07:19:04 [error] 41#41: *13 connect()
    failed (111: Connection refused) while connecting to upstream,
    client:172.16.0.15, server: loomio.mydomain.com, request: "GET
    /client/0.20.4/app.min.css HTTP/1.1", upstream: "http://172.17.0.4:3000/client/0.20.4/app.min.css", host: "loomio.mydomain.com", referrer: "https://loomio.mydomain.com/d/xPfHy1Rh/mypost_test-"

Conclusion: un probleme de communication entre mon reverseproxy (172.16.0.15) et un des dockers (172.17.0.4).

- De la VM 172.16.0.85 je ping sans soucis 172.17.0.4
- Du reverse proxy 172.16.0.15 je ne ping pas 172.17.0.4 mais bon cela me parait normal

C'est ma première expérience avec docker donc je suis totalement débutant.

Donc je ne sais pas si le problème vient de docker ou du reverseproxy.

172.17.0.4 correspond à

ea4d32fe9d68        loomio/loomio                            "bundle exec rake job"   4 days ago          Up 4 days           3000/tcp                                   loomiodeploy_worker_1

A part cela loomio fonctionne, mais ce problème de configuration fait que les pages dans loomio ne se rafraichissements pas automatiquement (il faut forcer le rafraichissement ce qui est gonflant)

voila le script docker-compose.yml pour docker

letsencrypt:
  image: jrcs/letsencrypt-nginx-proxy-companion
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock:ro
    - ./certificates:/etc/nginx/certs:rw
  volumes_from:
    - nginx

nginx:
  image: jwilder/nginx-proxy
  volumes:
    - /var/run/docker.sock:/tmp/docker.sock:ro
    - ./certificates:/etc/nginx/certs:ro
    - ./nginx/vhost.d:/etc/nginx/vhost.d
    - ./nginx/html:/usr/share/nginx/html
  ports:
    - 80:80
    - 443:443
  links:
    - loomio
    - faye

loomio:
  image: loomio/loomio
  expose:
   - 3000
  env_file: ./env
  links:
    - db
  environment:
    - DATABASE_URL=postgresql://postgres:password@db/loomio_production
  volumes:
    - ./attachments:/loomio/public/system/attachments

worker:
  image: loomio/loomio
  env_file: ./env
  links:
    - db:db
  environment:
    - DATABASE_URL=postgresql://postgres:password@db/loomio_production
  volumes:
    - ./attachments:/loomio/public/system/attachments
  command: "bundle exec rake jobs:work"

db:
  image: postgres
  volumes:
    - ./pgdata:/pgdata
  environment:
   - POSTGRES_PASSWORD=password
   - PGDATA=/pgdata

mailin:
  image: loomio/mailin-docker
  ports:
    - 25:25
  links:
    - loomio
  environment:
    - WEBHOOK_URL=http://loomio:3000/email_processor/

faye:
  build: faye/.
  env_file: ./faye_env

désolé pour ce pavé, mais la je ne trouve d'aide nulle part et je désespere d'avoir un coup de main

Merci par avance pour votre aide

Dernière modification par HPIR40 (Le 16/06/2016, à 16:15)

Hors ligne