web-dev-qa-db-fra.com

Traefik, plusieurs règles frontales pour un conteneur Docker

J'ai fait une recherche dans le manuel, mais je n'ai vraiment pas pu le rendre très clair, même en utilisant les mots clés pour google.

J'ai besoin de mandater le /_ au conteneur API, une règle comme celle-ci www.mydomain.com/_ => API container

Il existe déjà un point de domaine spécifié vers ce conteneur d'API api.mydomain.com => API container

C'est mon docker-compose.yml, tout ce que je veux, c'est ajouter une règle qui proxy le /_ dans ce conteneur également.

version: '3.3'

services:

  testapi:

    image: git.xxxx.com/api/core/test:latest

    restart: always

    networks:
      - web
      - default

    expose:
      - "80"

    labels:
      - "traefik.enable=true"
      - "traefik.port=80"
      - "traefik.docker.network=web"
      - "traefik.backend=testapi"
      #this domain is used for app
      - "traefik.frontend.rule=Host:api.test.mydomain.com"
      #this is used for website.All I want is prxy "https://www.test.mydomain.com/_/" to this container
      - "traefik.frontend.rule1=Host:www.test.mydomain.com;PathPrefixStrp:/_"
7
wanfujinan

Vous pouvez utiliser des étiquettes de segment:

version: '3.3'

services:
 testapi:
   image: git.xxxx.com/api/core/test:latest
   restart: always
   networks:
     - web
     - default
   expose:
     - "80"
   labels:
     - "traefik.enable=true"
     - "traefik.port=80"
     - "traefik.docker.network=web"
     #this domain is used for app
     - "traefik.foo.frontend.rule=Host:api.test.mydomain.com"
     - "traefik.bar.frontend.rule=Host:www.test.mydomain.com,m.test.mydomain.com;PathPrefixStrp:/_"

https://docs.traefik.io/v1.6/configuration/backends/docker/#on-containers-with-multiple-ports-segment-labels

24
ldez