HAProxy支持https和Kerberos认证

10

我正在尝试在我们的系统中实现反向代理,用于微服务架构。

代理服务器是使用SSL终止工作的HAProxy,需要代理Https和Kerberos身份验证的后端服务器请求。 我成功地在代理服务器上终止了SSL并将请求传递到Https服务器(我需要终止以便根据请求正文将请求路由到特定的后端服务),但无法在后端服务器上进行Kerberos身份验证。

是否有可能在代理服务器上实现Kerberos身份验证,然后将TGT传递给不同的后端服务?


很不幸,我也在寻找一种在HAproxy上实现/激活Kerberos身份验证的方法。我已经了解到,在负载均衡环境中进行Kerberos身份验证的正确方法非常简单。只需对负载均衡器进行身份验证,并为后端应用程序创建一个自定义标头,其中包含认证用户名。采用这种方法,您无需在每个后端主机上维护keytab,而是将它们保留在前端LB上。现在我只需要找出一种在HAproxy上实现此功能的方法。我知道如何在Apache和nginx上实现这一点,但它们似乎不适合我们的负载平衡需求。 - Daywalker
1个回答

0

我已经成功完成了这个任务,但是需要付出一些努力。

当时我使用的是HDP,所以我使用ambari在HAproxy节点上设置了一个hive服务器。(这样做仅仅是为了让Ambari管理kerberos principle。hive服务器本身从未运行过)

然后,我将代理上的hive服务器的keytab与我的Hive服务器keytab合并,以便principle可以在hive服务器上使用。我认为我还允许它作为一个principle来与hive一起工作。我相信还有另一种方法可以使用委派,但这是最少阻力的路径,使得hive主要管理keytab。当keytab重新生成时,我确实不得不重新合并keytab,但这并不像手动管理keytab那么糟糕。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接