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