2017-05-01 7 views
3

ドッカーコンテナからTraefixバージョン1.2.3を使用する次のファイルを設定しました。TraefikでPathとPathPrefixが一致する問題

traefik: 
    image: traefik 
    command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG 
    ports: 
    - "80:80" 
    - "8080:8080" 
    - "443:443" 
    volumes: 
    - /var/run/docker.sock:/var/run/docker.sock 
    - /dev/null:/traefik.toml 

services: 
    image: opencoredata/ocdservices:0.2 
    labels: 
    - "traefik.backend=services" 
    - "traefik.frontend.rule=Host:opencore.dev" 
    - "traefik.frontend.rule=PathPrefix:/api" 

# web: 
# image: opencoredata/ocdweb:0.3 
# labels: 
#  - "traefik.backend=web" 
#  - "traefik.frontend.rule=Host:opencore.dev" 

私は「ウェブ」のセクションの周りのコメントを削除した場合は、すべてのトラフィックがパスまたはPathprefixはやサービスコンテナに行くために/最初/ APIを使用してURLを取得するために、他の試みを無視して、そのコンテナに移動します。

上記のような「Web」コンテナをコメントアウトすると、トラフィックはサービスコンテナに送られます。もちろん、他のコンテナはないので期待されます。

TraefikをPath、PathPrefix、PathPrefixStripまたはその他の組み合わせで動作させる方法を見つけることができません。ここの例や文書の例は、私が望む振る舞いを取るべきであることを示しているようですが、私はそれを認識できません。私はあなたが二行目は、最初のものを上書きしているので、この部分

- "traefik.frontend.rule=Host:opencore.dev" 
- "traefik.frontend.rule=PathPrefix:/api" 

が間違っていると思い

答えて

6

、これを試してみてください。

- "traefik.frontend.rule=Host:opencore.dev;PathPrefix:/api" 

私はそれがものにあなたが望むように組み合わせることになると思います。

+0

ありがとう、私はあなたが単純に規則を行ごとに積み重ねることができる例を見たと思いました。明らかに私は間違っていた。それらを入れて分ける;すぐに働いています。ヘルプをよろしくお願いいたします。 –

関連する問題