Есть ли способ настроить HAProxy для преобразования запросов GET в POST при отправке на внутренние серверы?
Предыстория проблемы заключается в том, что мы хотим использовать облачную службу ведения журнала (например, loggy.com), которая позволяет создавать события журнала только через POST в его REST API. События журнала будут создаваться с помощью Javascript в браузере, когда наш виджет загружается на веб-страницы, поэтому мы не можем выполнять POST из-за предотвращения CSRF.
Есть ли лучший способ сделать это, помимо настройки прокси, который преобразует GET в POST?
Что-то вроде этого должно помочь:
backend HttpServers
mode http
balance roundrobin
option httpchk
reqirep ^GET\s+(https?:/.*)$ POST\ \1
Ключевой бит - последняя строка.
Я бы не рекомендовал создавать события в javascript в клиентском браузере по множеству причин, прежде всего безопасности.
Работайте с поставщиком, которого вы выбираете, чтобы определить лучший способ переноса журналов вашего веб-сервера в службу, но получение этого текстового файла вместо того, чтобы пытаться заставить клиентские браузеры отправлять запросы непосредственно в API событий, значительно облегчит вашу жизнь.