Perché non è possibile effettuare il controlo dell'integrità del mio bilanciatore del carico Lightsail nonostante il sito web funzioni correttamente?

5 minuti di lettura
0

Sto usando un bilanciatore del carico Amazon Lightsail per la mia istanza Lightsail con uno stack Bitnami. Non è possibile effettuare il controllo dell'integrità del bilanciatore del carico nonostante il sito web funzioni correttamente.

Breve descrizione

Per eseguire un controllo dell'integrità, il bilanciatore del carico Lightsail verifica la risposta dell'URL http://ipaddress:80/healthcheckpath. Se il codice di stato è 200 OK, il controllo dell'integrità viene effettuato correttamente. Non puoi personalizzare questo controllo delle risposte nel bilanciatore del carico Lightsail. Se l'istanza impone il reindirizzamento HTTPS, http://ipaddress:80/healthcheckpath restituisce il codice di stato della risposta 301 o 302 anziché 200 OK. Ciò si traduce in un fallimento del controllo dell'integrità.

Lo stesso problema può verificarsi nelle istanze WordPress Multisite perché queste reindirizzano http://ipaddress:80/healthcheckpath a http://ipaddress.nip.io/healthcheckpath per impostazione predefinita.

Risoluzione

**Nota:**Il percorso del file dipende dal fatto che lo stack Bitnami utilizzi pacchetti di sistema Linux nativi (Approccio A) o un'installazione autonoma (Approccio B).

Per identificare il tipo di installazione di Bitnami, esegui il seguente comando:

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

I passaggi utilizzati per risolvere questo problema dipendono da quanto segue:

  • Hai utilizzato i plugin dell'applicazione WordPress, come Really Simple SSL, per impostare il reindirizzamento.
  • Hai utilizzato le regole di reindirizzamento del server Web per impostare il reindirizzamento.
  • Stai utilizzando un'istanza di stack WordPress Multisite.

Hai utilizzato i plugin dell'applicazione WordPress per impostare il reindirizzamento

Crea un file HTML nella cartella principale del documento del tuo sito web. Quindi, modifica la configurazione del controllo dell'integrità del bilanciatore del carico per aggiungere il file HTML come file di controllo dello stato. Poiché i reindirizzamenti a livello di applicazione influiscono solo sui file HTML che fanno parte dell'applicazione originale, è necessario aggiungere il file HTML come file di controllo dell'integrità.

  1. Connettiti alla tua istanza Lightsail.

  2. Vai alla posizione principale del documento del tuo sito web in cui sono archiviati i relativi file:
    Nello stack Bitnami nell'Approccio A, la posizione principale del documento è /opt/bitnami/APPNAME/ (ad esempio, **/opt/bitnami/wordpress **).
    Nello stack Bitnami in Approccio B, la posizione principale del documento è /opt/bitnami/apps/APPNAME/htdocs (ad esempio, /opt/bitnami/apps/wordpress/htdocs).
    Nello stack LAMP Bitnami, la posizione principale del documento è /opt/bitnami/apache2/htdocs.

  3. Carica un file HTML vuoto o esegui il comando seguente per creare il file HTML vuoto:

    touch health.html
  4. Apri la console Lightsail.

  5. Seleziona Rete.

  6. Seleziona il tuo bilanciatore del carico.

  7. Nella scheda Istanze di destinazione, seleziona ** Personalizza controllo dell'integrità**.

  8. Inserisci il percorso health.html, quindi clicca su Salva.

  9. Assicurati che http://ipaddress:80/health.html restituisca la risposta 200 OK. Usa l'HTTP Header Checker sul sito web KeyCDN.

  10. Attendi qualche minuto, quindi verifica che il controllo dell'integrità venga eseguito correttamente.

Hai utilizzato le regole di reindirizzamento del server web per impostare il reindirizzamento

Aggiungi una regola di eccezione nelle regole di reindirizzamento del server web in modo che solo i file del sito web originale, ma non il file di controllo dell'integrità, vengano reindirizzati.

  1. Completa i passaggi 1-7 nella sezione Il reindirizzamento è impostato utilizzando i plug-in dell'applicazione WordPress.

  2. Apri il file del server web in cui hai aggiunto le regole di reindirizzamento HTTPS, quindi aggiungi la riga seguente prima della riga che inizia con RewriteRule:

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

    Di seguito sono riportati alcuni esempi di regole di reindirizzamento:

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

    Aggiungi la riga precedente alle regole nelle seguenti posizioni:
    Lo stack Bitnami nell'Approccio A: /opt/bitnami/apache2/conf/bitnami/bitnami.conf e qualsiasi file che termina con -vhost.conf nella directory /opt/bitnami/apache2/conf/vhosts/.
    Lo stack Bitnami nell'Approccio B: /opt/bitnami/apache2/conf/bitnami/bitnami.conf.

  3. Riavvia il servizio web:

    sudo /opt/bitnami/ctlscript.sh restart
  4. Assicurati che http://ipaddress:80/health.html restituisca la risposta 200 OK. Usa questo HTTP Header Checker sul sito web KeyCDN.

  5. Attendi qualche minuto, quindi verifica che il controllo dell'integrità venga eseguito correttamente.

Stai utilizzando un'istanza di stack WordPress Multisite.

Per risolvere questo problema, completa i seguenti passaggi:

  1. Completa i passaggi 1-7 nella sezione Il reindirizzamento è impostato utilizzando i plug-in dell'applicazione WordPress.

  2. Apri il file /opt/bitnami/apache2/conf/vhosts/wordpress-vhost.conf, quindi aggiungi la seguente riga sotto il reindirizzamento **# BEGIN nip.io **:

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

    Di seguito è riportato un esempio di regole con la riga aggiunta:

    # 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. Riavvia il servizio web:

    sudo /opt/bitnami/ctlscript.sh restart
  4. Assicurati che http://ipaddress:80/health.html restituisca la risposta 200 OK. Usa questo HTTP Header Checker sul sito web KeyCDN.

  5. Attendi qualche minuto, quindi verifica che il controllo dell'integrità venga eseguito correttamente.

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa