Как сделать так, чтобы Traefik обрабатывал URL-адреса косыми чертами?Он отказывается пересылать, когда в URL отсутствует последний слеш - PullRequest
0 голосов
/ 19 апреля 2019

Я настроил Traefik для обработки трафика https. Я считаю, что это работает с одним уловом. Сервер недоступен и перенаправляется на внутренний порт, если в конце полного URL-адреса отсутствует последняя косая черта.

Например

https://MYDOMAIN/webapp/ пересылается и обслуживается должным образом.

Однако

https://MYDOMAIN/webapp становится https://MYDOMAIN:8000/webapp, поэтому страницу и сервер нельзя найти в браузере.

Я использую нативный двоичный файл Traefik go на Debian Buster x64, Apache 2.4

Пожалуйста, посмотрите Traefik.toml и дайте мне знать, что делает эту причудливую проблему здесь.

спасибо


[global]
  checkNewVersion = false
  sendAnonymousUsage = false

debug = true
logLevel = "DEBUG"

InsecureSkipVerify = true

defaultEntryPoints = ["http", "https"]

#[web]
#address = ":8080"

[api]
entryPoint = "traefik"
dashboard = true
address = ":8080"

[entryPoints]
  [entryPoints.http]
  address = ":80"
    #[entryPoints.http.redirect]
    entryPoint = "https"

  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]

[file]
watch = true

[backends]
  [backends.backend1]
   [backends.backend1.servers]
    [backends.backend1.servers.server0]
    url = "http://127.0.0.1:8000"

[frontends]
  [frontends.frontend1]
   entrypoints = ["http","https"]
   backend = "backend1"
   passHostHeader = true
   #passTLSCert = true

   [frontends.frontend1.routes]
    [frontends.frontend1.routes.route0]
     rule = "Host:MYDOMAIN"

      # rule = "PathPrefix: /app"
      # rule = "Host: localhost; PathPrefix: /app"

   [frontends.frontend1.redirect]
      entryPoint = "https"
      regex = "^http://localhost/(.*)"
      replacement = "http://MYDOMAIN/$1"
      permanent = true

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "MYDOMAIN"
watch = true
exposedbydefault = false


[acme]
email = "EMAIL"
storage = "acme.json"
#caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
caServer = "https://acme-v02.api.letsencrypt.org/directory"
entryPoint = "https"

[acme.httpChallenge]
entryPoint = "http"

[[acme.domains]]
  main = "MYDOMAIN"


...