如何设置HAProxy将访问令牌添加到客户端请求

时间:2018-09-20 15:38:11

标签: docker haproxy

我有一个客户端,只能发出没有身份验证信息的请求。

我想使用HAProxy或类似的代理解决方案向这些客户端请求添加OAuth身份验证。

我已经成功地将Bearer令牌添加到客户端请求。有关带有某些占位符的haproxy.cfg,请参见下文。

frontend front
  mode http
  bind *:8080
  default_backend   servers
  http-request add-header Authorization "Bearer {{ .Env.ACCESS_TOKEN}}"

backend servers
  mode http
  server server1 myserver.com:443 ssl

问题是访问令牌的TTL为24小时。因此,我需要定期刷新它们或获取新令牌。

HAProxy已经支持吗?

我可以编写一些脚本来定期获取新的访问令牌,更新配置并重新启动HAProxy。在docker中运行HAProxy时,这是一种好方法吗?有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Lua创建/测试脚本,最新版本现已支持该脚本,请选中How Lua runs in HAProxy

在此项目中可以找到一个使用Nginx + Lua的示例:https://github.com/jirutka/ngx-oauth