Blog de Gonzalo

Blog de programación de Gonzalo López

MÓDULOS MÁS COMUNES DE APACHE

APACHE

Hace poco hablé sobre los módulos de apache. Ahora os pongo un listado de los módulos más comunes de apache:

Módulos de manejo de contenido
Estos módulos procesan las solicitudes HTTP y determinan cómo Apache maneja los recursos solicitados.
  • mod_dir: Sirve directorios. Cuando una URL apunta a un directorio, este módulo busca automáticamente un archivo por defecto (por ejemplo, index.html o index.php).
  • mod_alias: Permite redirigir URLs o mapear rutas a ubicaciones específicas del sistema de archivos.
  • mod_rewrite: Potente motor para reescritura de URLs, útil para crear URLs más amigables o implementar redirecciones complejas.
  • mod_userdir: Permite a los usuarios acceder a directorios personales a través de URLs (~usuario).
Módulos de autenticación y autorización
Estos módulos controlan el acceso a los recursos y verifican la identidad de los usuarios.
  • mod_auth_basic: Implementa autenticación HTTP básica mediante usuarios y contraseñas.
  • mod_auth_digest: Proporciona autenticación más segura utilizando un esquema de resumen (digest) en lugar de texto plano.
  • mod_authz_core: Define reglas de autorización, como permitir o denegar acceso según ciertos criterios.
  • mod_authz_user: Autorización basada en usuarios específicos.
  • mod_authz_groupfile: Permite gestionar autorizaciones basadas en grupos definidos en un archivo.
  • mod_auth_form: Permite la autenticación mediante formularios HTML.​
  • mod_authn_anon: Permite la autenticación anónima.​
  • mod_authn_dbd: Utiliza bases de datos SQL para autenticar usuarios.​
  • mod_authn_dbm: Emplea bases de datos DBM para la autenticación.​
  • mod_authn_file: Autentica usuarios mediante archivos de texto plano.​
  • mod_authn_socache: Almacena en caché las credenciales de autenticación para mejorar el rendimiento.​
  • mod_authnz_fcgi: Permite la autenticación y autorización a través de aplicaciones FastCGI.​
  • mod_authnz_ldap: Integra la autenticación y autorización con directorios LDAP.​
  • mod_authz_dbd: Autoriza usuarios basándose en información almacenada en bases de datos SQL.​
  • mod_authz_dbm: Utiliza bases de datos DBM para la autorización.​
  • mod_authz_host: Controla el acceso según el nombre de host o la dirección IP del cliente.​
  • mod_authz_owner: Autoriza el acceso basándose en la propiedad de los archivos.​
Módulos de caché
Mejoran el rendimiento al almacenar en caché contenido dinámico o estático.
  • mod_cache: Módulo principal que gestiona la caché.
  • mod_cache_disk: Almacena contenido en disco como caché.
  • mod_cache_socache: Utiliza almacenamiento en memoria para mejorar la velocidad de acceso.
Módulos de compresión y optimización
Ayudan a reducir el tamaño de las respuestas HTTP y optimizan la entrega del contenido.
  • mod_deflate: Comprime el contenido usando gzip, reduciendo el tamaño de las respuestas HTTP.
  • mod_expires: Permite configurar encabezados de expiración, indicando a los navegadores cuánto tiempo deben almacenar en caché un recurso.
  • mod_headers: Permite modificar o agregar encabezados HTTP en las respuestas.
  • mod_filter: Define reglas para aplicar filtros como compresión o transformación de contenido.
  • mod_brotli: Comprime el contenido utilizando el algoritmo Brotli antes de enviarlo al cliente.​
Módulos de seguridad
Garantizan un entorno seguro para los usuarios y el servidor.
  • mod_ssl: Habilita conexiones HTTPS mediante el protocolo SSL/TLS.
  • mod_security: Un firewall de aplicaciones web (WAF) que protege contra amenazas comunes como inyecciones SQL o cross-site scripting (XSS).
  • mod_evasive: Protege contra ataques de denegación de servicio (DoS) al limitar la cantidad de solicitudes por IP.
  • mod_remoteip: Sustituye la IP del cliente po
  • r la original en caso de que el servidor esté detrás de un proxy o balanceador de carga.
Módulos de soporte para lenguajes y bases de datos
Facilitan la integración con diferentes tecnologías.
  • mod_php: Permite la ejecución de scripts PHP directamente desde el servidor web.
  • mod_perl: Integra el lenguaje Perl, optimizando su rendimiento en aplicaciones web.
  • mod_python: Proporciona soporte para aplicaciones web escritas en Python.
  • mod_dbd: Maneja conexiones a bases de datos relacionales mediante una interfaz abstracta.
Módulos de registro y monitorización
Proporcionan herramientas para analizar el comportamiento del servidor y las solicitudes.
  • mod_log_config: Configura cómo se registran las solicitudes HTTP en los archivos de log.
  • mod_status: Ofrece un informe en tiempo real sobre el estado y el rendimiento del servidor.
  • mod_watchdog: Supervisa tareas periódicas y eventos críticos.
  • mod_dumpio: Ayuda a depurar problemas registrando la entrada y salida de datos.
Módulos proxy
Facilitan la configuración de servidores proxy y balanceo de carga.
  • mod_proxy: Actúa como proxy directo o inverso, reenviando solicitudes a otros servidores.
  • mod_proxy_http: Maneja tráfico proxy para el protocolo HTTP.
  • mod_proxy_balancer: Implementa balanceo de carga entre múltiples servidores backend.
  • mod_proxy_ftp: Soporta proxy para tráfico FTP.
  • mod_proxy_ajp: Permite conexiones proxy utilizando el protocolo AJP (Apache JServ Protocol).
  • mod_proxy_fcgi: Soporta proxy para aplicaciones FastCGI.
  • mod_proxy_ftp: Habilita el uso de proxy para servidores FTP.
  • mod_proxy_connect: Permite tunelización de conexiones (por ejemplo, conexiones HTTPS a través de un proxy).
  • mod_proxy_wstunnel: Permite la comunicación con servidores WebSocket a través del proxy.
  • mod_proxy_scgi: Soporta el protocolo SCGI para aplicaciones web backend.
  • mod_proxy_hcheck: Permite la verificación del estado de los servidores backend en un balanceador de carga.
  • mod_lbmethod_byrequests: Método de balanceo de carga basado en la cantidad de solicitudes.
  • mod_lbmethod_bytraffic: Método de balanceo basado en la cantidad de tráfico transferido.
  • mod_lbmethod_bybusyness: Método de balanceo basado en la carga de los servidores backend.
  • mod_lbmethod_heartbeat: Método de balanceo que usa latidos (heartbeat) para seleccionar el backend.
Módulos experimentales o avanzados
Son menos comunes, pero ofrecen funcionalidades únicas para casos específicos.
  • mod_http2: Habilita HTTP/2, mejorando la eficiencia y velocidad de las conexiones.
  • mod_lua: Permite escribir scripts en Lua para personalizar el comportamiento del servidor.
  • mod_sed: Permite realizar transformaciones en el contenido de las respuestas utilizando expresiones regulares.
Otros módulos
  • mod_dav: Ofrece funcionalidades de WebDAV para la gestión de documentos en la web.​
  • mod_info: Proporciona información detallada sobre la configuración del servidor.​
  • mod_autoindex: Genera listados automáticos de directorios.​
  • mod_asis: Envía archivos al cliente tal como están, sin añadir cabeceras HTTP.​
  • mod_actions: Permite la ejecución de scripts CGI dependiendo de los tipos de medios y métodos de solicitud. Requiere AddHandler.​
  • mod_env: Permite cambiar las variables de entorno transmitidas a scripts CGI y SSI.​
  • mod_setenvif: Permite adaptar las variables del entorno en función de las características de la consulta.​
  • mod_include: Permite el análisis por el servidor de archivos HTML.​
  • mod_mime: Permite comportamientos distintos del servidor web basados en las terminaciones de los archivos.
  • mod_negotiation: Selección de contenidos.
  • mod_speling: Con el módulo activado, el servidor intenta resolver correctamente URL mal escritas (p. ej., mayúsculas y minúsculas).
La configuración de apache se encuentra en el fichero httpd.conf. La modularidad de Apache es una de sus mayores fortalezas, permitiendo personalizar el servidor según las necesidades específicas de cada proyecto. Configurar los módulos adecuados mejora la seguridad, el rendimiento y la funcionalidad del servidor web. Es importante habilitar solo los módulos necesarios para minimizar riesgos y mantener un servidor eficiente.

Compartir en twitter