Docker 如何设置HAProxy以向客户端请求添加访问令牌

Docker 如何设置HAProxy以向客户端请求添加访问令牌,docker,haproxy,Docker,Haproxy,我有一个客户端,它只能在没有身份验证信息的情况下发出请求 我想使用HAProxy或类似的代理解决方案向这些客户机请求添加OAuth身份验证 我已经成功地向客户端请求添加了一个承载令牌。请参见下面带有一些占位符的haproxy.cfg frontend front mode http bind *:8080 default_backend servers http-request add-header Authorization "Bearer {{ .Env.ACCESS_T

我有一个客户端,它只能在没有身份验证信息的情况下发出请求

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

我已经成功地向客户端请求添加了一个承载令牌。请参见下面带有一些占位符的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时,这是一个好方法吗?有更好的解决方案吗?

您可以尝试使用创建/测试您的脚本,它现在在最新版本中受支持,请检查


在这个项目中可以找到一个使用+
Lua的例子:

不清楚客户机是访问资源服务器的应用程序(用OAuth术语)还是其他应用程序。如果是,那么myserver.com在这里的角色到底是什么,如果不是,那么您可能需要更好地解释需求。如果您解释谁是“资源所有者、客户机、授权服务器等”,以及HAProxy或任何其他代理在所有这些方面的位置,那么回答您就更容易了。您能否澄清一下——HAProxy将支持什么?从外部获取一个更新的新env值或获取一个新令牌?理想情况下,当然是获取令牌,但我认为这是不可能的。因此,能够在外部更新令牌并使HAProxy在不重新启动的情况下使用它就足够了。