503 HTTP Error / Timeout / Service Unavailable bei WooCommerce auf STRATO Web Paketen
Category : Allgemein , Tipps & Tricks , troubleshooting , WooCommerce , WordPress , WordPress
Wenn sich Kunden melden, dass es Probleme beim Bezahlen in einem WooCommerce Shop unter WordPress auf einem STRATO Web Paket gibt, lohnt sich ein Blick mit den Developer Tools des Browsers in den Netzwerk Traffic und in die Einstellungen des STRATO Paketes.
In einem Projekt kam es nach einiger Zeit reibungslosen Betriebs zu einer Fehlermeldung bei der WooCommerce Kasse, wo bei der Auswahl der Zahlungsveriante (z.B. PayPal / Rechnung / Vorkasse / Nachnahme) erstmal zu einem Hänger bei der Eieruhr kam und die verschiedenen Optionen zwar sichtbar waren, aber nicht auswählbar (WooCommerce löst das meist mit disabled Attributen an verschiedenen Elementen). Da der Shop ansonsten problemlos lief, wurde mit F12 die Developer Tools des Brwosers (FireFox, Chrome & Internet Explorer) geöffnet und unter dem Registerreiter Network der Netzwerk Traffic analysiert (was zwischen Browser und Server an Daten hin- und hergeschickt wird, bzw. welche externen Quellen werden geladen).
Hierbei fiel auf, dass der Server (In diesem Fall wird der Shop auf einem STRATO PowerWeb Basic Paket gehostet) bei einem bestimmten HTTP Request reproduzierbar mit einem 503 (‚Service Unavailable‚) antwortet
Bei dem HTTP Request handelt es sich um einen Post per Ajax
?wc-ajax=update_order_review
woraufhin der Server mit einem 503 (Service Temporarily Unavailable) antwortete. WooCommerce antwortet hier normalerweise mit einem JSON
{"result":"success","messages":"","reload":"false","fragments":{".woocommerce-checkout-review-order-table":" ... hier steht allerhand WooCommerce Zeugs in HTML drin ... "}}
Bekanntes Problem, kann irgendwann mit Verzögerung auftreten
Vor mühevollem Debuggen, kann ein bischen Recherche nicht schaden und siehe da: bei STRATO kennt man das Problem und es gibt in der FAQ Knowledge Base einen hilfreichen Artikel:
STRATO verwendet für diverse Web Pakete einen Server-seitigen Sicherheitsfilter um automatisierten Formular Spam von Bots zu unterbinden. Da es sich bei dem Ajax Post prinzipiell auch um eine automatiserte Script Anfrage handelt, greift der Filter hier wohl auch. Warum erst nach einiger Zeit bleibt ungelöst – vermutlich ein gewisser Trainingseffekt, wiederholt ähnliche Posts, selbstlernende Filter, o.Ä.
Im Kundenbereich von STRATO findet man unter ServerSide Security hierzu erklärt:
ServerSide Security
STRATO ServerSide AntiVirus
Mit dem innovativen STRATO ServerSide AntiVirus sind Ihre E-Mail Postfächer jederzeit optimal vor gefährlichen Viren, Würmern und Angriffen aus dem Internet geschützt. Das intelligente Filter-System blockt Viren bereits auf unserem Server für Sie, so dass E-Mails mit schädlicher Software erst gar nicht bis in Ihr Postfach vordringen können.
Die STRATO Sicherheitsexperten arbeiten dabei ständig an der Weiterentwicklung des Systems. Die permanente Überwachung durch unsere Antiviren-Spezialisten gewährleistet auch bei neuen Massen-Viren einen schnellen und umfassenden Schutz Ihres Postfaches.
STRATO ServerSide AntiSpam
Damit Sie sicher sein können, das erwünschte Nachrichten nicht aus Versehen als Spam abgelehnt werden, arbeitet STRATO mit einer Forschungsgruppe der Humboldt-Universität zu Berlin zusammen und entwickelt permanent neue Methoden und Techniken um „gute, erwünschte“ von „schlechten, unerwünschten“ Nachrichten zu trennen.
Im Gegensatz zu vielen anderen Systemen „lernt“ ServerSide Antispam
Um Spam- und Phishing-E-Mails zu erkennen, analysiert der Filter den Inhalt aller E-Mails. Dabei berücksichtigt er alle Bedeutungseinheiten, die sich aus mehreren (bis zu fünf) Wörtern ergeben, die unmittelbar aufeinander folgen oder nahe beieinander stehen. Anhand der enthaltenen Kombination von Formulierungen werde Spam-E-Mails zuverlässig erkannt, auch wenn sie zum ersten Mal verschickt werden. Der Filter wird auf einer Basis von mehreren Millionen Spam-E-Mails regelmäßig neu trainiert. Der Filter berücksichtigt, ob Sender und Empfänger einer Nachricht sich kennen und gegenseitig E-Mails schicken. Das Risiko, dass der Filter eine wichtige Nachricht irrtümlich als Spam markiert, wird so auf nahezu null reduziert.
Tja, kommt wohl trotzdem vor…
Anscheinend arbeitet dieses System auch bei Formular Posts (bzw. Posts im Allgemeinen), was auch den Trainingseffekt (gleicher Absender: Script / ähnlicher Inhalt: Ajax Post) erklärt. Jedenfalls befindet sich direkt unter dieser Abhandlung eine Einstellungmöglichkeit für den Umgang mit möglichem Gästebuch Spam, wo man den Filter deaktivieren soll.
Kurzanleitung zum Beheben von 503 Service Unavailable HTTP Error bei WooCommerce auf Strato Paketen
Nach dem Login in den STARTO Kundenbereich soll man das entsprechende Paket auswählen und unter Sicherheit links im Menü auf ServerSide Security klicken. Auf dieser Seite findet man unten die Möglichkeit, den Filter gegen Gästebuch Spam zu deaktivieren:
Hier einfach den Radio Button auf Filter nicht aktiv setzen und anschließend speichern (Einstellungen übernehmen)