530 words
3 minutes
1.5 Apunte Mejorado Nginx Y Recursos Http Https
03/Sep/2025
Nginx y su configuración básica
Nginx es un servidor web muy utilizado por su rendimiento, bajo consumo de recursos y capacidad de manejar gran cantidad de peticiones concurrentes. Puede actuar como:
- Servidor web (sirviendo archivos estáticos).
- Proxy inverso.
- Balanceador de carga.
- Servidor de correo.
La configuración de Nginx se hace en un archivo principal (normalmente en /etc/nginx/nginx.conf) y se estructura en bloques.
Bloques principales:
user nobody; # Usuario con el que se ejecutan los procesos (mejor usar un usuario limitado, no root)worker_processes 4; # Número de procesos de trabajo según los núcleos del servidor
server { listen 80; # Puerto en el que escucha (HTTP estándar)
location / { root /var/www/html; # Directorio donde están los archivos index index.html; # Archivo por defecto }}- server: Define un bloque de servidor virtual.
- listen: Puerto de escucha (ejemplo: 80 para HTTP, 443 para HTTPS).
- location: Define cómo responder a diferentes rutas o recursos.
HTTP y HTTPS
- HTTP (Hypertext Transfer Protocol) es el protocolo de comunicación básico entre cliente (navegador) y servidor.
- HTTPS añade una capa de cifrado SSL/TLS, garantizando seguridad en la transmisión de datos.
La “S” en HTTPS significa Secure, es decir, que la comunicación está encriptada entre cliente y servidor.
Puertos comunes:
- 80 → HTTP
- 443 → HTTPS
- 8080 → Alternativo para HTTP
- 8443 → Alternativo para HTTPS (En muchos servidores, se configuran redirecciones: 80 → 8080 y 443 → 8443)
Métodos HTTP principales
Cuando un cliente hace una petición, el servidor responde según el método utilizado:
- GET → Solicitar un recurso (ej: página web).
- POST → Enviar datos al servidor (ej: formularios).
- PUT → Subir o actualizar un recurso (ej: archivo).
- DELETE → Eliminar un recurso.
- OPTIONS → Preguntar qué métodos admite un recurso.
- HEAD → Solicitar solo encabezados de respuesta (ej: para caché o validación).
- TRACE → Usado para pruebas de depuración (poco común, riesgo de seguridad).
Herramientas de prueba y monitoreo
-
curl: Cliente de línea de comandos para hacer peticiones HTTP. Ejemplo:
curl -v https://ejemplo.com*→ Lo que envíacurl>→ Lo que se manda al servidor (petición HTTP)<→ Lo que responde el servidor
-
Comandos para monitoreo en Linux:
Terminal window ps -a | grep nginx # Ver procesos de Nginx activosnetstat -na | grep 80 # Ver si el puerto 80 está en usonetstat -na | grep 443 # Ver si el puerto 443 está en uso -
Logs de Nginx:
access.log→ Registra todas las peticiones de clienteserror.log→ Registra errores y problemas del servidor
Seguridad y buenas prácticas
- No ejecutar Nginx como root, usar un usuario restringido (ej:
nobody,www-data). - Redirigir tráfico de puertos estándar (80, 443) a puertos altos (8080, 8443) mediante un proxy inverso o firewall.
- Revisar los logs en tiempo real para detectar ataques o fallos.
- Configurar HTTPS con certificados válidos (ej. Let’s Encrypt).
Glosario de términos
- Nginx: Servidor web y proxy inverso, rápido y eficiente.
- Archivo de configuración: Documento en el que se definen reglas para el servidor (puertos, rutas, seguridad).
- worker_processes: Número de procesos de trabajo de Nginx, suele depender de los núcleos de CPU.
- Location: Bloque de configuración que define cómo responder a ciertas rutas (ej.
/,/images). - curl: Herramienta de línea de comandos para probar peticiones HTTP/HTTPS.
- netstat: Utilidad para ver puertos y conexiones activas en un sistema.
- SSL/TLS: Protocolos de cifrado que aseguran la comunicación entre cliente y servidor.
- Proxy inverso: Servidor que recibe las peticiones de los clientes y las redirige a otros servidores internos.
- Logs: Archivos donde se registran eventos, accesos y errores.
1.5 Apunte Mejorado Nginx Y Recursos Http Https
https://jangelmm.github.io/posts/informatica/ingenieriasoftware/programacion-web/1-introducción-a-las-aplicaciones-web/15-apunte-mejorado---nginx-y-recursos-http-https/