#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. Вот как я исправил проблему сбоя работоспособности:
-
Щелкните свой экземпляр lightsail
-
Подключитесь с помощью SSH
-
Перейдите в /opt /bitnami / apps / wordpress / htdocs
-
Создайте пустой HTML-файл, выполнив следующую команду:
touch health.html
-
Перезагрузите свой экземпляр