Bonjour chers tous,

Je cherche à utiliser Traefik v2 pour faire du reverse proxy entre mes services docker, je veux faire quelque chose comme ca


  • simpetin.com pointe sur le dashboard de Traefik (ceci marche bien)
  • simpetin.com/baraka pointe sur le service baraka qui est accessible a partir de http://baraka-app:8080


Quand je tape http://simpetin.com/baraka, le service baraka-app vois la requete mais avec une reponse route not found. J'ai l'impression qu'il attend que je definisse un endpoint /baraka dans le service baraka-app alors que moi je veux juste que ca me redirige vers le home de baraka-app.

Voici ma config:

docker-compose.yml
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
  version: '3'

services:
  traefik:
    image: traefik
    container_name: traefik
    command:
      - "--providers.file.filename=/etc/traefik/services.toml"
      - "--api.insecure=true"
      - "--log.level=DEBUG"
      - "--entryPoints.web.address=:80"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./data/traefik/:/data"
      - /home/env/newtraefik/services.toml:/etc/traefik/services.toml
#    labels:
#     - "traefik.http.routers.dashboard.rule=Host(`simpetin.com`)"
#     - "traefik.http.routers.dashboard.service=dashboard@internal"
#     - "traefik.http.routers.api.rule=Host(`simpetin.com`) && PathPrefix(`/api`)"
#     - "traefik.http.routers.api.service=api@internal"
    networks:
      - default

networks:
  default:
    external:
      name: traefik-netw
services.toml

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
[http]
  [http.routers]
    [http.routers.dashbord_route]
      entryPoints=["web"]
      service="dashboard@internal"
      rule="Host(`simpetin.com`)"

    [http.routers.api_route]
      entryPoints=["web"]
      service="api@internal"
      rule="Host(`simpetin.com`) && PathPrefix(`/api`)"

    [http.routers.baraka_route]
      entryPoints=["web"]
      service="baraka"
      rule="Host(`simpetin.com`) && PathPrefix(`/baraka`)"


  [http.services]
    [http.services.baraka]
      [http.services.baraka.loadBalancer]
        [[http.services.baraka.loadBalancer.servers]]
          url = "http://baraka-app:8080/"

NB: si je configure une rule comme baraka.simpetin.com ca marche bien aussi. Mais je veux que le service soit accessible a partir de simpetin.com/baraka

Merci d'avance.