0

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

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

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

为此,我认为我的实例上没有运行状况检查的目标页面。

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

所以对于健康检查,假设我需要在index.html里面有(目标页面)/var/www/html

我的问题是:

  • 我需要在/var/www/html文件夹中创建目标页面 index.html 吗?
  • index.html那个文件里面应该有什么?
4

2 回答 2

5

负载均衡器只要求您有一个“返回”HTTP 200 的页面。因此,作为示例,您可以在 /var/www/html 中有一个名为“heartbeat.php”的页面,如下所示:

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

这最终要做的是给 Elastic Load Balancer 一个 HTTP 200 响应和一个表明一切正常的小数据包。

稍后,当您获得更多使用时,您的“心跳”页面可能想要做更多 - 检查与数据库的连接等等。当然,这取决于您的应用程序。但是现在像这样的简单页面就可以了。

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

于 2017-03-12T00:44:55.767 回答
0

只是补充。

当我使用了另一个 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>

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

于 2020-08-31T12:40:53.480 回答