LINUX.ORG.RU

Сообщения comdev

 

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

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

 ,

comdev
()

RSS подписка на новые темы