Estoy solucionando un problema con una aplicación de carga de archivos urgente y sospecho que el problema podría deberse a la KeepAliveTimeout
directiva de Apache. Acabo de llamar al soporte de alojamiento y les pregunté cuál es la configuración. Me dijeron "no es información disponible públicamente". Tengo acceso de shell al servidor de alojamiento compartido.
La búsqueda httpd.conf
termina sin éxito.
¿Hay alguna manera de saber cuál es el valor de la directiva sin tener acceso a él httpd.conf
?
Respuesta1
Intentar httpd -V
. Eso le mostrará dónde está buscando Apache un archivo(s) de configuración. Estás buscando algo como:
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Hay una opción para mostrar la configuración pero actualmente no es muy útil:-S Show the settings as parsed from the config file (currently only shows the virtualhost settings).
Si tienes acceso a la configuración de vhost, puedes configurarlo TimeOut
tú mismo:
http://httpd.apache.org/docs/2.2/mod/core.html#timeout
Espero que ayude.
Respuesta2
Apache y NGinx utilizan 5 minutos como tiempo de espera predeterminado para mantenerse activo.
Lo más probable es que no tenga acceso a esa información (estaría contenida en el archivo de configuración del servidor) y normalmente los clientes no pueden acceder a ella si la empresa de alojamiento está remotamente al tanto. Es posible que pueda averiguar qué servidor utiliza herramientas de red simples como nmap.
Podrías usar telnet tal vez:
telnet host 80
una vez en telnet intenta:
get / HTTP/1.0
En la respuesta busque el comienzo de la línea.
Server:
Puede enumerar el proceso del servidor con 'ps ax'; es posible que obtenga o no una lista completa. Apache aparece como apache2 en estos días o tal vez como httpd dependiendo del tipo de sistema operativo.
Usando curl es posible que puedas crear una línea de comando que ejercite el tiempo de espera de keepalive y lo demuestre de una forma u otra. Desafortunadamente, en este momento no sé cómo sería eso.