Traefik - прокси для бэкэнда с путем - PullRequest
0 голосов
/ 29 октября 2018

Мне нужно прокси http://www.example.com/foo до http://<backend>/bar, с nginx у меня есть эта конфигурация:

server {
    listen       80;
    client_max_body_size 2048M;
    server_name www.example.com;
    location /foo {
        proxy_pass      http://container_name/bar/;
        proxy_set_header Host            $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Я бы преобразовал это в traefik. там мой составной файл:

version: '3'
services:
 traefik:
   image: traefik:1.7.3-alpine
   command: --api --docker
   ports:
    - "80:80"
    - "8080:8080"
   volumes:
    - /var/run/docker.sock:/var/run/docker.sock
   labels:
    - traefik.enable=false

 webapp:
   ...
   ...
   labels:
    - traefik.backend=bar
    - traefik.frontend.rule=Host:www.example.com;Path:/foo/
    - traefik.port=80

есть ли способ решить?

Спасибо

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете сделать что-то подобное, используя ReplacePathRegex для правила внешнего интерфейса (не нужно ничего делать на бэкенде):

PathPrefix:/foo;ReplacePathRegex:^/foo(.*) /bar$$1
...