我有一个客户端,只能发出没有身份验证信息的请求。
我想使用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时,这是一种好方法吗?有更好的解决方案吗?
答案 0 :(得分:0)
您可以尝试使用Lua创建/测试脚本,最新版本现已支持该脚本,请选中How Lua runs in HAProxy。
在此项目中可以找到一个使用Nginx + Lua的示例:https://github.com/jirutka/ngx-oauth