如何在 EC2 实例上创建目标页面以进行负载均衡器的健康检查

How to create a target page at EC2 instance for Load balancer's health check

我为我的 EC2 实例设置了负载均衡器。

在负载均衡器和实例之间设置的所有安全组看起来都很好。

当前的问题是负载均衡器中的实例状态为OutofService

为此,我想我的实例上没有健康检查的目标页面。

什么是目标页面?在我的实例中,在 /var/www/html 文件夹中,我 index.php 仅指向另一个文件夹中的一个 html 页面(主页)。

因此对于健康检查,假设我需要在 /var/www/html.

中包含 index.html(目标页面)

我的问题是:

负载平衡器只需要您有一个 "returns" HTTP 200 的页面。例如,您可以在 /var/www/html 中有一个名为 "heartbeat.php" 的页面看起来喜欢:

<html>
 <head>
  <title>ELB Heartbeat</title>
 </head>
 <body>
 <?php echo '<p>OK</p>'; ?> 
 </body>
</html>

这最终做的是给弹性负载均衡器一个 HTTP 200 响应和一个表明一切正常的小数据包。

稍后,当您获得更多使用时,您的 "heartbeat" 页面可能需要执行更多操作 - 检查与数据库的连接等。当然,这取决于您的应用程序。但现在像这样的简单页面就可以了。

您需要使用心跳页面的 URL 配置 Elastic Load Balancer。它将类似于 http://www.yoursite.tld/heartbeat.php

补充一下。

当我用过另一个index.html。我的负载均衡器开始指向 index.html,我必须使用以下代码手动重新路由到我的原始页面

*

<!DOCTYPE html> <html>    <head>
      <title>Routing to main page</title>
      <meta http-equiv = "refresh" content = "1; url = http://www.example.com/index.php" />    </head>    <body>
      <p>Redirecting to another URL</p>    </body> </html>

谢谢,心跳代码运行完美。