Ich behebe Probleme mit einer zeitkritischen Datei-Upload-App und vermute, dass das Problem an der KeepAliveTimeout
Anweisung von Apache liegen könnte. Habe gerade den Hosting-Support angerufen und gefragt, wie die Einstellung lautet. Sie sagten mir, „es sind keine öffentlich verfügbaren Informationen“. Ich habe Shell-Zugriff auf den gemeinsam genutzten Hosting-Server.
Die Suche httpd.conf
wird erfolglos beendet.
Gibt es eine Möglichkeit, den Wert der Direktive herauszufinden, ohne Zugriff darauf zu haben httpd.conf
?
Antwort1
Versuchen Sie es mit httpd -V
. Das zeigt Ihnen, wo Apache nach einer oder mehreren Konfigurationsdateien sucht. Sie suchen nach etwas wie:
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Es gibt eine Option zum Anzeigen von Einstellungen, die derzeit aber nicht sehr nützlich ist:-S Show the settings as parsed from the config file (currently only shows the virtualhost settings).
Wenn Sie Zugriff auf die VHost-Einstellungen haben, können Sie Folgendes TimeOut
selbst festlegen:
http://httpd.apache.org/docs/2.2/mod/core.html#timeout
Hoffentlich hilft das.
Antwort2
Apache und NGinx verwenden beide 5 Minuten als Standard-Keepalive-Timeout.
Höchstwahrscheinlich haben Sie keinen Zugriff auf diese Informationen – sie sind in der Konfigurationsdatei des Servers enthalten – und normalerweise für Kunden nicht zugänglich, wenn das Hosting-Unternehmen auch nur ansatzweise auf dem Laufenden ist. Mit einfachen Netzwerktools wie nmap können Sie möglicherweise herausfinden, um welchen Server es sich handelt.
Sie könnten vielleicht Telnet verwenden:
telnet host 80
Versuchen Sie im Telnet Folgendes:
get / HTTP/1.0
Suchen Sie in der Antwort nach der Zeile, die beginnt
Server:
Sie können die Prozesse des Servers mit „ps ax“ auflisten. Möglicherweise erhalten Sie eine vollständige Liste zurück, möglicherweise aber auch nicht. Apache wird heutzutage als apache2 oder je nach Betriebssystemvariante möglicherweise als httpd angezeigt.
Mit curl können Sie möglicherweise eine Befehlszeile erstellen, die das Keepalive-Timeout ausführt und es auf die eine oder andere Weise beweist. Leider weiß ich im Moment nicht, wie das aussehen könnte.