504 Gateway Time-out: Unterschied zwischen den Versionen

Aus Glaskugel
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Eine Website aufm Pleskserver ist nicht erreichabr aber alle Zabbix-Metriken sind in Ordung. Also kein Webserverausfall o.ä. aber der Kunde bekommt trotzden e…“)
 
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
==FastCGI limits für eine Domain anpassen ohne den Server groß umzumodeln==
==FastCGI limits für eine Domain anpassen ohne den Server groß umzumodeln==


1. In Plesk einloggen
;1. In Plesk einloggen


2. Entsprechende Domain bearbeiten   
;2. Entsprechende Domain bearbeiten   
Domains > example.com > Einstellungen für Apache & nginx
:Domains > example.com > Einstellungen für Apache & nginx


3. Folgenden Inhalt in die Textboxen "Zusätzliche Anweisungen für HTTP und Zusätzliche Anweisungen für HTTPS":
;3. Folgenden Inhalt in die Textboxen "Zusätzliche Anweisungen für HTTP und Zusätzliche Anweisungen für HTTPS":


FcgidIdleTimeout 1200
:FcgidIdleTimeout 1200
FcgidProcessLifeTime 1200
:FcgidProcessLifeTime 1200
FcgidConnectTimeout 1200
:FcgidConnectTimeout 1200
FcgidIOTimeout 1200
:FcgidIOTimeout 1200
Timeout 1200
:Timeout 1200
ProxyTimeout 1200
:ProxyTimeout 1200


4. OK
;4. OK


==FastCGI Limits serverweit anpassen==
==FastCGI Limits serverweit anpassen (z.B. bei einem Managed vServer)==


1. Login via SSH als User root
;1. Login via SSH als User root


2. FastCGI config im Texteditor öffnen.
;2. FastCGI config im Texteditor öffnen.
:<code>mcedit /etc/httpd/conf.d/fcgid.conf</code>


<code>mcedit /etc/httpd/conf.d/fcgid.conf</code>
;3. Werte wie folgt anheben:
:FcgidIdleTimeout 1200
:FcgidProcessLifeTime 1200
:FcgidConnectTimeout 1200
:FcgidIOTimeout 1200


3. Werte wie folgt anheben:
;4. Wenn der ''FPM PHP Handler'' benutzt wird, musst Du eine eigene config erstellen:
FcgidIdleTimeout 1200
:<code>mcedit /etc/httpd/conf.modules.d/00-proxy_timeout.conf</code>
FcgidProcessLifeTime 1200
FcgidConnectTimeout 1200
FcgidIOTimeout 1200


4. Wenn der FPM PHP handler benutzt wird, musst Du eine eigene config erstellen:
;4a In die kommt dann folgender Code
<code>mcedit /etc/httpd/conf.modules.d/00-proxy_timeout.conf</code>
:Timeout 1200
:ProxyTimeout 1200


In die kommt dann folgender Code
;5. neue config testen
Timeout 1200
:<code>apachectl configtest</code>
ProxyTimeout 1200
:Syntax OK


5. neue config testen
;6. Apache neu starten
apachectl configtest
:<code>service httpd restart</code>
 
6. Apache neu starten
service httpd restart

Version vom 4. August 2021, 09:13 Uhr

Eine Website aufm Pleskserver ist nicht erreichabr aber alle Zabbix-Metriken sind in Ordung. Also kein Webserverausfall o.ä. aber der Kunde bekommt trotzden ein 504 Gateway Time-out

Die error.log enthält dann gerne einmal einen Hinweis wie diesen hier:

[proxy_fcgi:error] [pid 42290:tid 140458047010560] (70007)The timeout specified has expired: [client 203.0.113.2:54693] AH01075: Error dispatching request to :, referer: http://example.com/gallery

Hier kann man ansetzen denn die Ausführung von PHP-Code dauert (vermutlich billiger/schlechter Code) zu lange und das Proxy Timeout wird überschritten. Eigentlich also eine Sache für den lausigen Entwickler.

(siehe auch: https://support.plesk.com/hc/en-us/articles/115000064929-Website-on-Plesk-server-is-not-accessible-504-Gateway-Time-out-The-timeout-specified-has-expired-client-203-0-113-2-54693-AH01075-Error-dispatching-request-to)

FastCGI limits für eine Domain anpassen ohne den Server groß umzumodeln

1. In Plesk einloggen
2. Entsprechende Domain bearbeiten
Domains > example.com > Einstellungen für Apache & nginx
3. Folgenden Inhalt in die Textboxen "Zusätzliche Anweisungen für HTTP und Zusätzliche Anweisungen für HTTPS"
FcgidIdleTimeout 1200
FcgidProcessLifeTime 1200
FcgidConnectTimeout 1200
FcgidIOTimeout 1200
Timeout 1200
ProxyTimeout 1200
4. OK

FastCGI Limits serverweit anpassen (z.B. bei einem Managed vServer)

1. Login via SSH als User root
2. FastCGI config im Texteditor öffnen.
mcedit /etc/httpd/conf.d/fcgid.conf
3. Werte wie folgt anheben
FcgidIdleTimeout 1200
FcgidProcessLifeTime 1200
FcgidConnectTimeout 1200
FcgidIOTimeout 1200
4. Wenn der FPM PHP Handler benutzt wird, musst Du eine eigene config erstellen
mcedit /etc/httpd/conf.modules.d/00-proxy_timeout.conf
4a In die kommt dann folgender Code
Timeout 1200
ProxyTimeout 1200
5. neue config testen
apachectl configtest
Syntax OK
6. Apache neu starten
service httpd restart