503-Fehler beim Ausführen von WordPress auf AWS EC2 ELB SSL

Lesezeit: 3 Minuten

Benutzer-Avatar
Ilona

Ich fange gerade mit dem AWS an …

ich habe 1 EC2-Instanzauf dem WordPress ausgeführt wird (WordPress powered by Bitnami-Image vom Marketplace – https://aws.amazon.com/marketplace/pp/B007IP8BKQ). Alles funktioniert einwandfrei, ich kann sowohl auf das Front- als auch auf das Backend der WP-Installation zugreifen, die standardmäßig ausgeführt wird HTTP.

Das Problem beginnt, wenn ich die Instanz mit dem ELB verbinde und versuche, über die auf die Site zuzugreifen HTTPS.

Ich habe den Prozess zum Einrichten des SSL-Zertifikats mit dem ACM durchlaufen und das Zertifikat auf den ELB angewendet. Ich habe auch die Ports 443 und 80 in der Sicherheitsgruppe für die EC2-Instanz aktiviert. Die Portweiterleitung auf dem ELB ist so eingerichtet, dass sowohl 443 als auch 80 auf 80 gehen, und meine WP-Konfigurationsdatei ist so eingerichtet, dass sie die HTTP_X_FORWARDED_PROTO Header, um zu verhindern, dass WP in eine unendliche Umleitungsschleife gerät.

Ich denke, das funktioniert alles gut, da ich über HTTPS auf die Site zugreifen und die Seiten durchsuchen kann. Wenn ich jedoch versuche, mich anzumelden, werde ich zu HTTP umgeleitet und um dieses Problem zu lösen, habe ich die WP-Site-URL und die WP-Home-URL auf HTTPS gesetzt. Dies führt dann zu zahlreichen 503-Fehlern (503 Service Unavailable: Back-end server is at capacity). Aus dem AWS-Dashboard kann ich sehen, dass die Instanz einwandfrei läuft.

Ich habe ziemlich viel recherchiert, um sicherzustellen, dass ich alles richtig eingerichtet habe (einige Threads, auf die ich gestoßen bin – Verbindung 1 Verknüpfung 2 ) und alles scheint in Ordnung zu sein (aber etwas stimmt offensichtlich nicht).

Irgendwelche Vorschläge, wie man den ELB zum Laufen bringt?

  • Haben Sie stackoverflow.com/a/30702491/1428388 gesehen?

    – jzonthemtn

    28. August 2016 um 20:35 Uhr

  • @jbird habe ich, danke. Ich überprüfe bereits den Header in meiner Konfigurationsdatei: if( $_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’ ){ $_SERVER[‘HTTPS’] = ‘ein’; }

    – Ilona

    28. August 2016 um 20:43 Uhr


  • Dies führt dann zu zahlreichen 503-Fehlern — Der 503-Fehler wird manchmal von ELB zurückgegeben, wenn „der Back-End-Server ausgelastet ist“ nicht unbedingt eine genaue Beschreibung des Problems ist. Haben Sie die Webserver-Protokolle überprüft und festgestellt, ob diese fehlgeschlagenen Anforderungen tatsächlich vom Webserver gesehen werden und welche Ergebnisse diese Anforderungen haben?

    – Michael – sqlbot

    29. August 2016 um 11:34 Uhr

  • Ich bin ganz neu bei AWS, wie greife ich auf diese zu, @Michael-sqlbot? Muss ich CloudWatch installieren oder kann ich einfach über FTP/SSH darauf zugreifen?

    – Ilona

    31. August 2016 um 12:23 Uhr

  • Die Protokolle auf dem Server würden Sie für diese per ssh an den Server senden. Der Dateiname und der Speicherort variieren, aber sudo ls -ltr /var/log und die letzten paar Einträge zu untersuchen, ist normalerweise eine gute Wette. Für ELB-Klassiker siehe Sammlung von Zugriffsprotokollen. Die Protokolle werden in S3 geschrieben, wo Sie sie abrufen und lesen.

    – Michael – sqlbot

    31. August 2016 um 13:00 Uhr

Benutzer-Avatar
Matt Pramschufer

Haben Sie versucht, in Ihrer .htaccess-Datei in Ihrem WordPress-Stammverzeichnis hinzuzufügen

<IfModule mod_setenvif.c>
  SetEnvIf X-Forwarded-Proto "^https$" HTTPS
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Stellen Sie auch sicher, dass in Ihrem wp_options Tabelle, die Sie haben siteurl auf https:// setzen und home ist auf https:// eingestellt

1187010cookie-check503-Fehler beim Ausführen von WordPress auf AWS EC2 ELB SSL

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy