Pages : 1
#1 Le 16/06/2016, à 14: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, à 15:15)
Hors ligne
Pages : 1