我有两个web应用程序,一个在端口8001上运行,另一个在8002上运行,另一个独立的身份验证应用程序在8090上运行。
我希望每个请求首先通过auth-application:8090,然后这决定它应该由web-application:8001还是由web-application:8002处理。
可以有多个认证应用,这些认证应用可以通过将负载均衡器放在这些认证应用和多个web应用集群之上来决定,并且认证应用决定web应用集群来转发请求。
在几个web应用程序集群上,我指的是一个集群构建在Java应用程序上,另一个集群构建在Django web应用程序上。我想根据请求头或请求参数来决定集群。
实现这一目标的最佳方式是什么?
我可以考虑使用在nginx proxy_pass块中调用的脚本,但不确定这是如何工作的,甚至不确定这是否可以工作。可能会有一些现有的实现来解决这个问题;Google / Amazon会使用这种架构吗?
发布于 2017-01-16 21:03:00
通常认证流程是从应用程序发起的(认证服务器如何知道认证成功后你想去哪里?),所以流程应该是: 1.用户访问app 2.应用程序检查用户是否通过认证3.如果没有认证,则重定向到认证服务4.让我们(基于认证成功)进入
因此,用户首先应该知道他们想要什么应用程序(8001或8002)。如果这两个应用是相同的,那么它是您需要的负载均衡器,但身份验证流仍然必须从应用启动。
https://stackoverflow.com/questions/41620297
复制相似问题