HAProxy 将 GET 转换为 POST

HAProxy 将 GET 转换为 POST

有没有办法配置 HAProxy 在发送到后端服务器时将 GET 请求转换为 POST?

问题的背景是,我们想要使用基于云的日志服务(例如 loggy.com),该服务仅允许通过 POST 到其 REST API 创建日志事件。当我们的小部件加载到网页上时,将通过浏览器中的 Javascript 创建日志事件,因此出于 CSRF 预防,我们无法执行 POST。

除了设置将 GET 转换为 POST 的代理之外,还有其他更好的方法吗?

答案1

像这样的事情应该可以解决问题:

backend HttpServers
  mode http
  balance roundrobin
  option httpchk
  reqirep ^GET\s+(https?:/.*)$ POST\ \1

关键的是最后一行。

答案2

出于多种原因,我建议不要在客户端浏览器上使用 javascript 生成事件,首先是出于安全考虑。

与您选择的供应商合作,确定将您的 Web 服务器日志带入服务的最佳方式,但抓取该文本文件而不是尝试让客户端浏览器直接向事件 API 发送请求将使您的生活变得更加轻松。

相关内容