Почему мой экземпляр AWS Lightsail получил «Проверка работоспособности: сбой» при подключении к балансировщику нагрузки?

#wordpress #amazon-web-services #amazon-lightsail #aws-load-balancer

#wordpress #amazon-web-services #amazon-lightsail #amazon-elb

Вопрос:

Я создал AWS Lightsail instance и Load Balancer также в AWS Lightsail . Когда я подключил свой экземпляр к балансировщику нагрузки, я получил этот статус: Health Check: Failed . Я не знаю почему? Я захожу в свой WordPress, и все работает нормально.

Обновлено: Как я знаю, LB проверяет работоспособность моего экземпляра только на порту 80, который является протоколом HTTP. Я проверил его, и он всегда возвращается HTTP/1.1 301 Moved Permanently . Я уже добавил их в httpd-prefix.conf:

 SetEnvIf x-forwarded-proto https HTTPS=on

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
  

И эти в wp-config.php:

 if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
    $_SERVER['HTTPS']='on';
  

И это в bitnami.conf:

 RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} !^localhost
  RewriteCond %{HTTP_HOST} !^[0-9] .[0-9] .[0-9] .[0-9] (:[0-9] )?$
  RewriteCond %{REQUEST_URI} !^/.well-known
  RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
  

И перезапустите мой apache, но он все еще не работает.

Комментарии:

1. Как вы определили свою проверку работоспособности?

2. Проверьте ожидаемый код состояния в вашем HCS. По умолчанию это 200, но WordPress может возвращать 302 или 303 для автоматического перенаправления.

3. @petern В документе, сказали они Lightsail performs health checks on your instances at the root of your web application ("/") . И мой сайт работает. @Marcin как я могу проверить ожидаемый код состояния в вашем HCs. сэр?

Ответ №1:

Итак, я нашел обходное решение по теме:https://community.bitnami.com/t/lightsail-load-balancer-failed/81546/13

После этого мне нужно создать файл, health.txt настроив путь проверки работоспособности для этого файла: http://{MY_IP_INSTANCE}/health.txt .

И добавьте их в мой bitnami.conf:

 RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !health.txt
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
  

Затем перезапустите мой сервер Apache.

Ответ №2:

У меня была такая же проблема с экземплярами AWS lightsail, использующими lightsail CDN. Вот как я исправил проблему сбоя работоспособности:

  1. Щелкните свой экземпляр lightsail

  2. Подключитесь с помощью SSH

  3. Перейдите в /opt /bitnami / apps / wordpress / htdocs

  4. Создайте пустой HTML-файл, выполнив следующую команду:

    touch health.html

  5. Перезагрузите свой экземпляр