Hello,
Je tente d’installer Kresus (via docker-compose) sur mon dédié. Ce dernier hoste déjà deux apps servies en https
via Nginx.
Le certificat est de Let’s Encrypt et généré par certbot
et gère les 3 sous-domaines.
Du coup, ça fait 3 applications qui tournent sur le même serveur, accessible chacune depuis un sous-nom de domaine en https :
- https://app1.domain.tld
- https://app2.domain.tld
- https://finances.domain.tld (sous-domaine reservé à Kresus)
Lors du premier lancement de docker-compose up
, Traefik a essayé de bind le port 443 sans succès puisque déjà utilisé. C’est pourquoi, j’ai le docker-compose file en utilisant le port 445 du host 445.
Du coup, Kresus se lance sans soucis mais n’est jamais sollicité. Nginx ne semble pas router sa requête vers Traefik.
Aujourd’hui, j’ai un beau 404
lorsque je tente d’accéder à https://finances.domain.tld
Le .env file :
# [...]
MY_DOMAIN=kresus.domain.tld
# [...]
Le docker-compose file :
###################################
# TRAEFIK
###################################
traefik:
image: traefik:v1.7.7
# ne génère pas de certificat, Nginx s'occupe ça
command: --web --docker --docker.domain=docker.localhost --entryPoints='Name:https Address::443 TLS' --entryPoints='Name:http Address::80 Redirect.EntryPoint:https'
ports:
- "80:80"
- "445:443" # utilise le port 445 car, 443 est déjà utilisé par d'autres apps
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
- /opt/traefik:/etc/traefik/acme
- /opt/certs:/certs
labels:
- "traefik.backend=traefik"
- "traefik.frontend.rule=Host:${MY_DOMAIN};PathPrefix:/traefik"
- "traefik.backend.port=8080"
- "traefik.frontend.auth.basic=${MY_USERNAME}:${MY_PASSWD}"
- "traefik.frontend.entryPoints=https,http"
container_name: traefik
Voici la configuration Nginx
qui s’occupe de router la requête vers Traefik :
server {
listen 443 ssl;
server_name kresus.domain.tld;
# un certificat et une clef pour les 3 applications
ssl_certificate /etc/letsencrypt/live/sub.domain.tld/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/sub.domain.tld/privkey.pem; # managed by Certbot
access_log /var/log/nginx/finances.access.log;
error_log /var/log/nginx/finances.error.log;
location / {
proxy_pass https://127.0.0.1:445; # je demande bien à router vers le port 445
}
}
Et c’est tout ce que j’ai comme log de Nginx, :
==> finances.access.log <==
89.225.253.218 - tom [19/Aug/2019:13:58:07 +0200] "GET / HTTP/2.0" 404 19 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0"
89.225.253.218 - tom [19/Aug/2019:13:58:07 +0200] "GET /favicon.ico HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0"
Une idée de ce qui ne va pas dans ma configuration ?