Трафик слияния слешей - PullRequest
       22

Трафик слияния слешей

0 голосов
/ 30 сентября 2019

Я пытаюсь выполнить настройку перенаправления Traefik на одном из контейнеров в файле docker-compose. Я нашел похожую конфигурацию под названием merge_slashes в конфигурации сервиса Nginx. Это то же самое поведение, которого я хочу достичь.

Попробовал альтернативный подход регулярного выражения для службы Nginx, описанный здесь: https://www.ctrl.blog/entry/relative-double-slashes-url.html

rewrite ^(.*)//(.*)$ $1/$2;
rewrite ^ $uri permanent;

Но этот подход не работает для Traefik.

  labels:
      traefik.merge_slashes.frontend.rule: 'Host:${PROJECT_BASE_URL}'
      traefik.merge_slashes.frontend.redirect.regex: '(.*)\\/\\/+(.*)'
      traefik.merge_slashes.frontend.redirect.replacement: '$${1}/$${2}'
      traefik.merge_slashes.frontend.redirect.permanent: 'true'

1 Ответ

0 голосов
/ 30 сентября 2019

Чего-то ожидаемого достигнуто с помощью следующих конфигураций:

labels:
      traefik.merge_slashes.frontend.rule: 'Host:${PROJECT_BASE_URL}'
      traefik.merge_slashes.frontend.redirect.regex: '(.*\\:\\/\\/.*)\\/\\/+(.*)'
      traefik.merge_slashes.frontend.redirect.replacement: '$${1}/$${2}'
      traefik.merge_slashes.frontend.redirect.permanent: 'true'

Но это может следовать из-за слишком большого количества проблем с перенаправлениями с URL-адресами, таких как: http://localhost/some/////////////////////////////////////////////example///url

...