Обеспечение порядка соответствия HAproxy - PullRequest
0 голосов
/ 24 августа 2018

У меня есть проблема, когда у нас есть example.com и www.example.com, которые оба должны быть перенаправлены на https://www.example.com,, но тогда у нас есть отдельные страницы, которые также должны быть перенаправлены. Итак, у меня есть правило перенаправления схемы вроде:

http-request redirect scheme https code 301 if {!{ ssl_fc }

И у меня также есть определенное правило, подобное

redirect location https://www.example.com/some/path/to/content if { path -i /quickurl }     

Проблема в том, что если вы перейдете на http://example.com/quickurl, вы будете перенаправлены на https://example.com/quickurl,, а затем перенаправлены на https://www.example.com/some/path/to/content

В конечном счете, маркетинг хочет, чтобы у нас был один редирект. Даже если redirect location соответствует URL-адресу и будет перенаправлять на правильную конечную точку https одним ударом, http-request redirect scheme всегда получает первый (порядок в конфигурации не имеет значения)

Я также пытался преобразовать совпадение схемы в redirect location, как и другие, и думал, что победит «самое конкретное» правило. Похоже, что это не так. Независимо от того, что я всегда получаю 2 перенаправления.

Итак, у меня есть два основных вопроса:

  1. Есть ли способ выполнить перенаправление определенных URL, одновременно имея универсальное правило для принудительного применения HTTPS-трафика без нескольких скачков?
  2. Есть ли где-нибудь документация, в которой указан порядок, в котором они совпадают?
...