Ein auf der Synology gehosteter, virueller Host bricht die Ausführung der Scripte mit einem Fehler 504 Timeout ab. Im Logbuch finden sich Fehler wie diese:

2020/02/19 09:00:29 [error] 5208#5208: *13 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.x.y, server: sub.domain.de, request: "POST /pfad/xyz.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/php-90bdd30d-f45e-4bc0-80b2-5c21c9291900.sock", host: "sub.domain.de", referrer: "https://sub.domain.de/pfad/xyz.php"

Standard mäßig ist der der Timeout für FastCGI auf 60 Sekunden festgelegt. Um den Timeout zu erhöhen müssen für FastCGI die entsprechenden Einträge in die Konfiguration des Backend Servers eingetragen werden.

fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;

Die Einstellungen können in zwei Varianten erfolgen.

  • Variante 1 (besser da nur für einzelen virtuelle Host gültig)
    Unter Nginx wird eine Benutzerdatei user.conf in der Datei xxxx.conf eingebunden.
nano /usr/local/etc/nginx/conf.d/<UID>/user.conf

Die <UID> in der Pfadangabe bekommt man aus der Nginx Konfiguration heraus

      nginx -T > /etc/nginx/config.nginx und nano /etc/nginx/config.nginx

Hier kann man dann nach dem entsprechenden viruellen Host suchen. Am Ende der Einstellungen für den Viruellen Host befindet sich das "include" für die "user.conf"

  • Variante 2 (globale Einstellung für alle Hosts gültig)
    Einstellungen in die /etc/nginx/fastcgi.conf eintragen. Diese Einstellungen sind dann für den gesamten Backend Server gültig

Nach erfolgter Konfiguration kann man den Nginx mit nginx -t testen. Ist die Konfiguration Ok kann man den Nginx mit synoservice --restart nginx neu starten.

Kommentare powered by CComment