@DzmitrySiniakou

Как сделать редирект не чувствительными к регистру в Haproxy?

Нужно чтоб такого плана редиректы работали:

  1. example.com/QWER -> example.com/qwer
  2. example.com/Qwer -> example.com/qwer
  3. example.com/QwEr -> example.com/qwer


Что я пробовал:

http-request redirect location %[path,lower,map_str(/usr/local/etc/haproxy/website-redirects.map)] code 301 if { path,lower,map_str(/usr/local/etc/haproxy/website-redirects.map) }
Разные комбинации: with "map_reg", without "lower", using -i etc.

Спасибо заранее!
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
зачем редирект, не проще реврайтить на лету конвертируя к lower case, вы же все равно тем же серверам этот реквест скормите
http-request set-path %[path,lower]
если дополнительно хотите и кверю преобразовать в lower -
http-request set-query %[query,lower]
или можно вообще весь URI обработать
http-request set-uri https://%[req.hdr(Host),lower]%[path,lower]?%[query,lower]


если все же хотите редирект то
http-request redirect  code 301  location https://%[hdr(host),lower]%[capture.req.uri,lower]


примеры выше - почти все из документации HAProxy или блога HAProxy
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы