LINUX.ORG.RU

Haproxy и lua, как использовать http класс для реврайтов

 ,


0

1

Haproxy сейчас позволяет использовать lua, чем я и хочу воспользоваться. но есть проблема, я не понимаю, каким образом я могу, например, добавить заголовок в response или сделать rewrite path через HTTP.req_set_path. Т.е. как я это делаю вот сам action:

core.register_action("test-action", { "tcp-req", "http-req" }, function(txn)
    txn.http:req_set_path("/category/products/")
end)

так вызываю на фронтенде http-request lua.test-action

Т.е. фактически, как я понимаю, должен запрашиваться а затем и выводиться документ с адреса /category/products/ на запрошенной странице.

В тоже время, если я делаю через register_fetches + config:

function getPath(txn)
    return "/category/news/"
end
core.register_fetches("get-path", getPath)
http-request set-uri http://%[req.hdr(Host)]%/%[lua.get-path]

все работает нормально.

Аналогичная ситуация и с заголовками ответа: //находится в register_fetches('set-header')

return txn.http:res_add_header('X-Via', '123')


Работает только если вызвать через register_fetches к примеру в:

http-response add-header X-Via [%lua.set-header]

Правда тогда добавляется сразу 2 заголовка X-Via

Подскажите как правильно манипулировать классом http в lua

Перемещено leave из general



Последнее исправление: leave (всего исправлений: 1)

А почему не сделать все это средствами nginx? Там и без скриптоты такие вещи легко делаются

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.