NGINX – 502 Bad Gateway (upstream too big header…)
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: