默认后端池不正常时的Azure应用程序网关故障转移

siv3szwd  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(110)

我在AzureRM中有以下设置。

----------  
-----------     ----------     -----------      |app srv1|
| App     |     | Varnish|     | Load    | ---> ----------
| Gateway | --> | Cache  | --> | Balancer|  
|         |     | server |     |         | ---> ----------     
-----------     ----------     -----------      |app srv2|
                                                ----------

我希望默认情况下将所有请求定向到Varnish服务器,但如果Varnish死亡,则将它们直接定向到负载均衡器。
我读到可以在应用网关中使用自定义探针实现故障转移,但是如果我将负载均衡器添加到后端池中,如果我的想法是正确的,我相信它会在Varnish和LB之间进行循环。
使用App Gateway的原因是为了卸载SSL证书。
是否可以使用Azure服务实现此基础架构?

noj0wjuj

noj0wjuj1#

不幸的是,现在还没有一个简单的方法来实现这一点。故障转移池还不支持。您的理解是正确的,如果您将LB添加到后端池,并且它响应健康探测,Gateway将在Varnish和LB之间循环。一种迂回的方法可以是使用另一个默认探测失败的服务器,因此请求不会路由到它。如果主Varnish服务器失败,然后这个服务器应该开始响应200 OK到探测器。2这将需要额外的代码来设置这个辅助服务器,它监视Varnish并相应地响应探测器。

kiz8lqtg

kiz8lqtg2#

(我知道我在战斗后“有点”晚了,但以防万一它可能是别人而不是我^^)
正如@amsriva-msft所说,到目前为止,还不可能使用App Gateway在两个后端池之间进行这种故障转移。
但是在监听器配置中,你可以配置错误页面URL,以便重定向到特定的页面,而不是502错误(这是后端池中所有资源都不可用时返回的代码):App Gateway Listener配置错误页面URL截图
x1c 0d1x你可以把一个DNS指向你的负载均衡器的URL想象成一个502错误页面,而不是一个经典的错误页面。从逻辑上讲,我想这只适用于单页面应用程序作为故障转移,因为每个请求都将被路由到同一个URL。
编辑:以下是MS文档https://learn.microsoft.com/en-us/azure/application-gateway/custom-error中的过程

相关问题