Gerne kann es passieren, dass man bei WordPress bei den POSTs auf

/wp-admin/admin-ajax.php

einen 502 Gateway Error bekommt.

Das kann alles Mögliche sein. Als erstes müssen wir also kurz debuggen:

Falls das debug error log noch nicht aktiviert ist, aktiviere es erst mal im entsprechenden Virtual Host im NGINX Config:

  server {
server_name www.website.ch;
root /www/website.ch/doc;
error_log /logs_www/website.ch/error_log debug;

Starte nun den Webserver neu und analysiere das error_log. Ich mach in diesem Beispiel noch ein grep auf admin-ajax, da dieser Aufruf bei mir ja gerade Probleme verursacht:

nxctl restart
tail -f /logs_www/website.ch/error_log | grep admin-ajax

Und schon erscheint der Fehler:

upstream sent too big header while reading response header from upstream

[error] 69112#100961: *178 upstream sent too big header while reading response header from upstream, client: 12.34.56.78, server: www.website.ch, request: "POST /wp-admin/admin-ajax.php HTTP/2.0", upstream: "fastcgi://127.0.0.1:9073", host: "www.website.ch", referrer: "https://www.website.ch/wp-admin/plugins.php"

füge im server {} Bereich folgende Zeilen hinzu:

# upstream sent too big header while reading response header from upstream
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
# eof upstream error msg

und reloade nginx

nxctl restart

Falls das nichts nützt, versuch es noch mit den fastcgi_buffers

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

Jetzt NGINX wieder neu starten

nxctl restart

und nun müsste es wirklich klappen. Denk dran, dass error_log debug wieder zu deaktivieren, wenn du es nicht mehr benötigst.

Verwandte Themen: