Por que meu balanceador de carga do Lightsail está falhando na verificação de integridade mesmo que o site esteja funcionando corretamente?

5 minuto de leitura
0

Estou usando um balanceador de carga do Amazon Lightsail para minha instância do Lightsail com uma pilha Bitnami. A verificação de integridade do balanceador de carga está falhando, mesmo que o site esteja funcionando corretamente.

Breve descrição

Para realizar uma verificação de integridade, o balanceador de carga do Lightsail verifica a resposta do URL http://ipaddress:80/healthcheckpath. Se o código de status for 200 OK, a verificação de integridade será aprovada. Você não pode personalizar essa verificação de resposta no balanceador de carga do Lightsail. Se sua instância aplicar o redirecionamento HTTPS, então o **http://ipaddress:80/healthcheckpath ** retornará o código de status de resposta 301 ou 302 em vez de 200 OK. Isso resulta em uma falha na verificação de integridade.

O mesmo problema pode ocorrer nas instâncias do WordPress Multisite porque essas instâncias redirecionam **http://ipaddress:80/healthcheckpath ** para http://ipaddress.nip.io/healthcheckpath por padrão.

Resolução

Observação: o caminho do arquivo depende se a pilha Bitnami usa pacotes nativos do sistema Linux (Abordagem A) ou uma instalação independente (Abordagem B).

Para identificar o tipo de instalação do Bitnami, execute o seguinte comando:

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

As etapas que você usa para resolver esse problema dependem do seguinte:

  • Você usou plug-ins de aplicativos do WordPress, como o Really Simple SSL, para configurar o redirecionamento.
  • Você usou as regras de redirecionamento do servidor web para configurar o redirecionamento.
  • Você está usando uma instância de pilha WordPress Multisite.

Você usou plug-ins de aplicativos do WordPress para configurar o redirecionamento

Crie um arquivo HTML na raiz do documento do seu site. Em seguida, modifique a configuração da verificação de integridade do balanceador de carga para adicionar o arquivo HTML como arquivo de verificação de integridade. Como os redirecionamentos no nível do aplicativo afetam somente os arquivos HTML que fazem parte do seu aplicativo original, você deve adicionar o arquivo HTML como o arquivo de verificação de integridade.

  1. Conecte-se à sua instância do Lightsail.

  2. Navegue até a localização raiz do documento do seu site onde você armazena os arquivos do seu site:
    Na pilha Bitnami na Abordagem A, a localização raiz do documento é /opt/bitnami/APPNAME/ (por exemplo, /opt/bitnami/wordpress).
    Na pilha Bitnami na Abordagem B, a localização raiz do documento é /opt/bitnami/apps/APPNAME/htdocs (por exemplo, /opt/bitnami/apps/wordpress/htdocs).
    Na pilha LAMP Bitnami, a localização raiz do documento é /opt/bitnami/apache2/htdocs.

  3. Faça upload de um arquivo HTML vazio ou execute o seguinte comando para criar o arquivo HTML vazio:

    touch health.html
  4. Abra o console do Lightsail.

  5. Escolha Rede.

  6. Selecione seu balanceador de carga.

  7. Na guia Instâncias de destino, escolha Personalizar verificações de integridade.

  8. Insira o caminho health.html e, em seguida, escolha Salvar.

  9. Certifique-se de que http://ipaddress:80/health.html retorne a resposta 200 OK. Use o HTTP Header Checker no site da KeyCDN.

  10. Aguarde alguns minutos e verifique se a verificação de integridade foi aprovada.

Você usou regras de redirecionamento do servidor web para configurar o redirecionamento

Adicione uma regra de exceção às regras de redirecionamento do servidor web para que somente os arquivos originais do site sejam redirecionados, mas não o arquivo de verificação de integridade.

  1. Conclua as etapas de 1 a 7 na seção Você usou plug-ins de aplicativos do WordPress para configurar o redirecionamento.

  2. Abra o arquivo do servidor web em que você adicionou as regras de redirecionamento HTTPS e adicione a seguinte linha antes da linha que começa com RewriteRule:

    RewriteCond expr "! %{REQUEST_URI} -strmatch '*health.html’ "

    Veja a seguir exemplos de regras de redirecionamento:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond expr "! %{REQUEST_URI} -strmatch '*health.html’ "
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

    Adicione a linha anterior às regras nos seguintes locais:
    A pilha Bitnami na Abordagem A: /opt/bitnami/apache2/conf/bitnami/bitnami.conf e qualquer arquivo que termine com -vhost.conf no diretório /opt/bitnami/apache2/conf/vhosts/.
    A pilha Bitnami na abordagem B: /opt/bitnami/apache2/conf/bitnami/bitnami.conf.

  3. Reinicie o serviço web:

    sudo /opt/bitnami/ctlscript.sh restart
  4. Certifique-se de que http://ipaddress:80/health.html retorne a resposta 200 OK. Use este HTTP Header Checker no site da KeyCDN.

  5. Aguarde alguns minutos e verifique se a verificação de integridade foi aprovada.

Você está usando uma instância de pilha WordPress Multisite

Para solucionar esse problema, realize as etapas a seguir:

  1. Conclua as etapas de 1 a 7 na seção Você usou plug-ins de aplicativos do WordPress para configurar o redirecionamento.

  2. Abra o arquivo /opt/bitnami/apache2/conf/vhosts/wordpress-vhost.conf e adicione a seguinte linha em # BEGIN nip.io redirection:

    RewriteCond expr "! %{REQUEST_URI} -strmatch '*health.html' "

    Veja a seguir um exemplo de regras com a linha adicionada:

    # BEGIN nip.io redirection
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(:[0-9]{1,5})?$
    RewriteCond expr "! %{REQUEST_URI} -strmatch '*health.html'"
    RewriteRule ^/?(.*) %{REQUEST_SCHEME}://%1.nip.io%2/$1 [L,R=302,NE]
    # END nip.io redirection
  3. Reinicie o serviço web:

    sudo /opt/bitnami/ctlscript.sh restart
  4. Certifique-se de que http://ipaddress:80/health.html retorne a resposta 200 OK. Use este HTTP Header Checker no site da KeyCDN.

  5. Aguarde alguns minutos e verifique se a verificação de integridade foi aprovada.

AWS OFICIAL
AWS OFICIALAtualizada há um ano