Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

44 preguntas prácticas de la entrevista del servidor web Apache con respuestas

entrevista
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Apache es el servidor web más popular, y si tiene la intención de trabajar como administrador de Middleware / Sistema / Web, debe estar familiarizado con él. Apache HTTP es un servidor web de código abierto para Windows y UNIX.

Hace unos días, escribí sobre Preguntas de la entrevista de WebSphere, y muchos de ustedes solicitaron escribir sobre Apache Web Server, así que aquí tiene.

Las siguientes preguntas se hacen a menudo en una entrevista desde el nivel principiante hasta el nivel experto. La mayor parte de la organización tendrá Web Server administrado por Middleware / administrador del sistema junto con Application Server y otros componentes.

Comencemos con preguntas y respuestas de entrevistas en tiempo real...

1. ¿Cómo detener / iniciar el servidor web Apache?

Puede reiniciar yendo a la ubicación de la instancia de Apache >> carpeta bin y ejecutando el script apachectl.

./apachectl stop
./apachectl start

También puede usar un script ubicado en /etc/init.d/. En su mayoría, se llamará "apache" o "httpd"

/etc/init.d/apache stop
/etc/init.d/apache start

Otro procedimiento sería utilizar servicios

httpd stop
service httpd start

2. ¿Cuál es el puerto predeterminado para HTTP y HTTPS?

El puerto predeterminado para HTTP es 80 y HTTPS 443. Verifique los puertos predeterminados para otras aplicaciones señaladas aquí.

3. ¿Puede decirme el nombre del archivo de configuración importante?

httpd.conf es el archivo de configuración principal utilizado en Apache.

4. ¿Cómo comprobar la versión del servidor web Apache en ejecución?

Hay varias formas de encontrar esto, pero serían más precisas;

  • Iniciar sesión en un servidor web
  • Vaya a la instancia de apache y la carpeta bin
  • Ejecutó httpd con -v para obtener los detalles de la versión.
[root@lab sbin]# ./httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 18 2016 15:24:00
[root@lab sbin]#

Alternativamente, también puede usar el rpm comando para verificar la versión instalada.

[root@lab ~]# rpm -qa |grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[root@lab ~]#

5. ¿Cómo saber si se está ejecutando un servidor web?

Hay varias formas de encontrar esto.

  1. Inicie sesión en un servidor web y grep para el proceso "httpd"
ps -ef |grep httpd
  1. Compruebe si hay alguna alerta en su panel de control.
  2. Compruebe si su IP de apache: puerto es accesible en el navegador

Ej: http://yourapacheserver.com

  1. Compruebe si la IP y el puerto configurados están escuchando en el servidor con netstat
netstat -anlp |grep 80

6. ¿Cómo instalar Apache HTTP?

Hay tres formas posibles de instalarlo.

Usar código fuente - puede descargar la fuente y compilarla.

tar xvf  httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
  •  Navegue hasta donde extrajo la fuente a través del cd comando y configurarlo usando el  ./configure  comando en la terminal
  • Luego compílelo usando el make mando.
  • Finalmente, usa el make install comando para instalarlo.

Si desea conocer más opciones sobre cómo configurarlo, puede hacer uso del configure --help mando.

Repositorios YUM - si su servidor está conectado a Internet o tiene un repositorio interno, puede usar yum para instalarlo.

yum install httpd

RPM - Puedes descargar lo necesario Paquete RPM y use el comando rpm.

rpm -ivh packagename.rpm

7. ¿Cómo garantizar que Apache escuche solo una dirección IP en el servidor?

Esto a menudo es necesario cuando tiene varias direcciones IP en el servidor. Para asegurarse de que Apache escuche solo en una IP especificada, debe mencionar explícitamente la IP y el puerto en la directiva Listen.

por ejemplo:

Listen 10.10.10.10:80

8. ¿Cómo asegurar que Apache se ejecute con un usuario que no sea root / nadie?

Esto es posible agregando la directiva User & Group en el archivo httpd.conf

User apache
Group apache

El ejemplo de configuración anterior asegurará que comience con el usuario "apache". Debe asegurarse de que existan usuarios en el servidor antes de configurarlo.

9. ¿Cómo desactivo la indexación de directorios?

Puede utilizar “Opciones-Índices” en la directiva de directorio respectiva.

por ejemplo:

<Directory />
       Options -Indexes
</Directory>

10. ¿Qué módulo se requiere para que sea posible la redirección?

mod_rewrite es responsable de la redirección, y esto debe ser descomentado en el archivo httpd.conf.

LoadModule rewrite_module modules/mod_rewrite.so

11. ¿Puede cambiar el puerto de escucha predeterminado a otro?

Sí, es posible especificando el número de puerto en el Escucha Directiva.

Ej: para hacer que Apache escuche en el puerto 9000 a la dirección IP 10.10.10.10.

Listen 10.10.10.10:9000

12. ¿Cómo proteger un sitio web alojado en Apache Web Server?

Hay múltiples formas de asegurar el servidor web Apache incluyendo lo siguiente.

13. ¿Cuáles son los archivos de registro generados por Apache?

Se crean dos archivos de registro populares;

  • access.log: todos los detalles de la solicitud con el código de estado
  • error.log: captura todos los errores dentro de apache o conectando al backend

14. ¿Cómo crear un CSR?

Puede utilizar el siguiente comando de OpenSSL o generar RSE en línea.

Para crear una nueva CSR con una clave privada

openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key

Primero eche un vistazo al sitio web de la página Hoja de referencia de OpenSSL para más comandos.

15. ¿Qué es el alojamiento virtual?

El alojamiento virtual en Apache le permite alojar varios sitios web en una sola instancia. Puedes crear Basado en IP or Basado en nombre en alojamiento virtual.

16. ¿Qué módulo se necesita para conectarse a WebSphere?

mod_was_ap22_http.so debe ser agregado en httpd.conf archivo para integrar con IBM WAS.

17. ¿Cómo poner el nivel de registro en modo de depuración?

A menudo es necesario cuando está solucionando el problema y desea capturar más detalles. Puede cambiar el nivel de registro para depurar asegurándose de lo siguiente en el archivo httpd.conf.

LogLevel debug

18. ¿Qué módulo se requiere para habilitar SSL?

El módulo mod_ssl debe descomentarse antes de la implementación de SSL.

LoadModule auth_basic_module modules/mod_ssl.so

19. ¿Cuál es el nombre del módulo WebLogic?

mod_wl_22.so

20. ¿Cuál es el nivel de registro disponible en Apache?

La configuración predeterminada está establecida en "advertir”Sin embargo, lo siguiente también es posible.

  • depurar
  • info
  • advertir
  • para
  • crit
  • alarma
  • emergentes
  • error

21. ¿Qué es DocumentRoot?

La directiva DocumentRoot es la configuración en la que puede especificar la ubicación de la carpeta desde donde se servirán los archivos estáticos. También se llama WebRoot.

Default DocumentRoot location is /var/www/html

22. ¿Cómo implementar aplicaciones de guerra o JAVA en Apache?

Me temo que Apache es un servidor web y la implementación de aplicaciones basadas en Java no es posible con él. Sin embargo, puede integrar servidores de aplicaciones Java como WebLogic, WebSphere, JBoss donde puede implementar archivos war, ear.

23. ¿Cuál es la diferencia entre Apache Web Server y Apache Tomcat?

Apache Web es un servidor HTTP para servir contenido estático donde Tomcat es un contenedor de servlets para implementar archivos JSP.

Siempre puede integrar Apache HTTP con Tomcat, sin embargo, según el requisito, debe elegir cualquiera de ellos. Si necesita un servidor web adecuado, entonces Apache HTTP o Tomcat para JSP-Servlet Container.

24. ¿Cómo puede Apache actuar como servidor proxy?

Puede utilizar un módulo mod_proxy para utilizarlo como servidor proxy. El módulo mod_proxy se puede utilizar para conectarse al servidor backend como Gato, WebLogic, WebSphere, etc.

25. ¿Cómo configurar el registro de Apache para que capture el tiempo necesario para atender una solicitud?

Puedes añadir "%D”En el archivo httpd.conf bajo la directiva LogFormat para capturar el tiempo de respuesta necesario para atender la solicitud. Mostrará el tiempo en microsegundos.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined

Reinicie el servidor web Apache y podrá ver los resultados.

182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET / HTTP/1.1" 403 4961 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 1515
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/apache_pb.gif HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 424
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/poweredby.png HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 472

26. ¿Qué herramienta utiliza para el análisis de registros?

Tienes que decir la verdad pero para darte una idea puedes usar IrAcceso o unos pocos mencionado aquí.

27. ¿Cuáles son los servidores web en los que ha trabajado junto con Apache?

Nuevamente, es mejor que diga la verdad, pero para que esté al tanto, hay muchos servidores web en el mercado, incluidos los siguientes.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. ¿Cómo verificar el archivo httpd.conf para asegurar que no haya errores de sintaxis de configuración?

httpd –t le ayudará a comprobar la sintaxis.

[root@lab httpd]# /usr/sbin/httpd -t
Syntax OK
[root@lab httpd]#

Alternativamente, también puede usar el comando apachectl.

[root@lab ~]# /usr/sbin/apachectl configtest
Syntax OK
[root@lab ~]#

29. ¿Cómo realizar la prueba de rendimiento de Apache?

Puedes usar una herramienta como Banco Apache, SIEGE para realizar la prueba de carga en servidores web, incluido Apache. Otra opción para realizar estrés prueba en línea para ver el rendimiento general de la aplicación web bajo carga.

30. ¿Cómo obtener soporte para Apache Web Server si hay algún problema?

Apache es un servidor web de código abierto, por lo que no hay soporte a nivel empresarial. Sin embargo, puede plantear una informe de error o haz una pregunta en Stack Overflow.

31. ¿Cómo asegurarse de que el servidor web se inicia después de reiniciar el servidor?

Si está ejecutando Linux, puede poner un script en /etc/init.d/ y habilitar inicie en el arranque usando el comando chkconfig

Digamos que crea un archivo llamado apache y poner bajo /etc/init.d

chkconfig --add apache
chkconfig apache on

si está en Windows, asegúrese de que el tipo de inicio esté seleccionado "Automático".

32. ¿Cuál es la diferencia entre el servidor web Apache y Nginx?

Ambos están categorizados como un servidor web y estas son algunas de las principales diferencias.

  • Nginx es un servidor web basado en eventos donde Apache se basa en procesos
  • Nginx es conocido por su mejor rendimiento que Apache
  • Apache es compatible con una amplia gama de sistemas operativos donde Nginx no es compatible con OpenVMS e IBMi
  • Apache tiene una gran cantidad de integración de módulos con el servidor de aplicaciones backend donde Nginx todavía se está poniendo al día
  • Nginx es liviano y está capturando la participación de mercado rápidamente. Si es nuevo en Nginx, es posible que le interese consultar mis artículos sobre Nginx.

33. ¿Cómo matarías a Apache si la parada con gracia no funciona?

Si se ejecuta en Linux, puede usar el comando kill.

Descubra el PID de Apache usando ps -ef | grep http

Entonces mátalo

kill $PIDNUMBER

si la muerte normal no funciona, intente matar -9

kill -9 $PIDNUMBER

Si está en Windows, finalice la tarea de Apache desde el Administrador de tareas.

34. ¿Cómo encontrar el archivo httpd.conf si no conoce la ubicación de instalación?

En Linux, puede usar encontrar comando.

Supongamos que sabe que debe estar en el sistema de archivos / apps, entonces puede usar el siguiente comando.

find /apps -name httpd.conf

Pero si no está seguro de qué sistema de archivos, puede buscar en / file system, pero tenga en cuenta que puede llevar mucho tiempo en función del tamaño general del sistema de archivos.

find / -name httpd.conf

35. ¿Cuáles son los diferentes tipos de servidor web Apache que conoce?

  • IBM HTTP Server: conocido como IHS y se utiliza a menudo con IBM WebSphere Application Server
  • Oracle HTTP Server: conocido como OHS, a menudo se usa con el servidor Oracle Weblogic.

36. ¿Dónde se encuentra Apache en la ubicación del centro de datos?

Puede explicar en función de su experiencia, sin embargo, normalmente para aplicaciones orientadas a Internet, sería en la red DMZ de Internet y para la intranet, red central.

Pero nuevamente esto diferirá según la aplicación / organización.

37. ¿Cómo ocultar los detalles de la versión del servidor en el encabezado de respuesta HTTP?

Agregue lo siguiente en el archivo httpd.conf y reinicie el servidor web

ServerTokens Prod
ServerSignature Off

Esto ocultará la versión y mostrará el servidor como "APACHE" Solamente.

38. ¿Qué significan los códigos de error HTTP 200, 403 y 503?

  • 200 - contenido encontrado y servido OK
  • 403 - intentó acceder a un archivo / carpeta restringido
  • 503: el servidor está demasiado ocupado para atender la solicitud y, en otras palabras, el servicio no está disponible.
  • Remitir Infografía del código de respuesta HTTP para más.

39. ¿Cómo deshabilitar las solicitudes HTTP de seguimiento?

Agregue lo siguiente en el archivo httpd.conf y reinicie la instancia

TraceEnable off

40. ¿Cómo solucionar problemas de conflictos de puertos?

netstat Sería útil para solucionar el problema del conflicto del puerto. Si se ejecutan varias instancias en un solo servidor, se recomienda tener IP absoluta: Puerto configurado para la directiva Escuchar.

41. ¿Cómo instalar el módulo de terceros?

Puedes hacer uso de Caja de herramientas Apache. Una vez descargado, extráigalo usando el tar utilidad.

tar  -xf   Apachetoolbox-1.5.72.tar.gz

Navega a la carpeta Apachetoolbox-1.5.72 usando el cd y ejecute el siguiente comando para seleccionar módulos para su servidor Apache.

./install.sh

Proporciona módulos como  mod_ip_forwarding, mod_auth_mysql y mod_auth_samba para compilar con el servidor web Apache. Aunque puede incluir estos módulos manualmente, es más fácil con Apache Toolbox.

42. ¿Cómo asignar varios nombres a hosts virtuales?

Puedes hacer uso del ServerAlias directiva como se muestra a continuación.

ServerName  example.com  
ServerAlias    awesome.com  fantastic.com

43. ¿Cómo limitar el tamaño de carga?

Tengo una aplicación web que permite a los usuarios cargar archivos como documentos de Word, pdf, etc. ¿Cómo puedo limitar la carga de archivos por parte de los usuarios?

Puedes hacer uso del LimitRequestBody directiva para limitar el tamaño del archivo de carga.

<Directory "usr/local/apache2/uploads"> 
LimitRequestBody 9000 
</Directory>

El valor asignado a la LimitRequestBody permite a Apache aceptar y almacenar cargas de archivos de 9000 bytes por parte de los usuarios. Puede ajustar el valor según el requisito.

44. ¿Cómo restringir el acceso por IP?

Es posible que desee que algunas de las raíces de contexto sean accesibles por IP permitidas. Para hacerlo, puede hacer uso de mod_authz_core or mod_authz_host módulos para restringir el acceso utilizando el Require Directiva.

Require 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Al hacer lo anterior, Apache atenderá solicitudes solo si las solicitudes se realizan desde las IP enumeradas.

Necesita especificar el Require directiva dentro del directorio donde desea permitir o denegar el acceso a los recursos.

Conclusión

Espero que las preguntas y respuestas anteriores le ayuden a prepararse para un administrador de servidor web entrevista.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Apache HTTP
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder