首页 > 解决方案 > 如何设置 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 时,这是一个好方法吗?有更好的解决方案吗?

标签: dockerhaproxy

解决方案


您可以尝试使用 来创建/测试您的脚本Lua,现在最新版本支持它,请检查Lua 如何在 HAProxy 中运行

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


推荐阅读