Назад | Перейти на главную страницу

перенаправление haproxy сохранить строку запроса

Могу ли я настроить haproxy для перенаправления URL-адреса, заканчивающегося на / video1? Autoplay = 1, на другой URL-адрес, но с сохранением значения строки запроса?

например

http://domain.com/video1?autoplay=1

необходимо перенаправить на

http://newdomain/video/1?autoplay=1

Я могу сделать acl для соответствия / video1, но не могу понять, как выбросить все, что находится слева от строки запроса.

заранее спасибо

Вы можете перенаправить и сохранить строку запроса:

  acl path_video1 path /video1
  http-request redirect location /video/1?%[query] if path_video1

Если вы хотите любой номер для работы (например, /video234) это только немного сложнее:

  acl path_video path_reg ^/video[\d+]
  http-request redirect location %[path,regsub(/video,/video/,)]%[query] if path_video

Это соответствует числовой части с использованием регулярного выражения, а затем просто заменяет /video с участием /video/, и сохраняет строку запроса.

Я не думаю, что текущая версия HAproxy поддерживает такое перенаправление. Действительно ли это должен быть HAproxy? Возможно, вы также можете использовать Apache на локальном хосте и заставить его слушать, скажем, порт 81, и выполнять перенаправление, но сохранить строку запроса через mod_rewrite. Это, конечно, добавит накладных расходов.

Не могли бы вы объяснить, для чего это было бы полезно? Это может быть легко реализовать в haproxy и даже до dev16 за несколько дней, но перед добавлением функций мне нужно убедиться в их использовании.