Puertos y conflictos comunes
Puertos clave utilizados por servicios comunes.
| Puerto | Servicio típico | Descripción |
|---|---|---|
| 80 | HTTP | Sitios web sin HTTPS |
| 443 | HTTPS | Sitios web cifrados |
| 3306 | MySQL/MariaDB | Base de datos |
¿Qué es un conflicto de puertos?
- Un conflicto ocurre cuando dos aplicaciones intentan usar el mismo puerto al mismo tiempo, lo que impide iniciar uno de los servicios.
Causas típicas:
- Programas que bloquean el puerto 80:
- Skype
- IIS (World Wide Web Publishing Service)
- VMware / Hyper-V services
- TeamViewer
- etc.
- Múltiples entornos instalados (XAMPP, WAMP, Docker, Node).
Verificación mediante navegador
Pasos:
- Iniciar servicio (Apache, Nginx, Node).
- Abrir navegador → escribir:
http://localhosthttps://localhosthttp://localhost:puerto
- Validar:
- Página correcta
- Sin errores de certificado
- No aparece página de otro servicio (indicio de conflicto)
1. Simular el conflicto
- Abrir un servidor funcional, por ejemplo:
python -m http.server 80
- Sin detenerlo, intentar iniciar Apache o Nginx.
- Observar el error:
OSError: [Errno 98] Address already in use
2. Identificar el proceso que ocupa el puerto**
netstat -ano | findstr :80
tasklist /FI "PID eq <PID>"
3. Liberar el puerto
- Matar el proceso.
- O cambiar el puerto de servicio (ej. en Apache
httpd.conf, en Nodeserver.listen(3000)).
Apache
Apache en XAMPP usa estos archivos:
C:\xampp\apache\conf\httpd.conf→ Puerto HTTP (80)C:\xampp\apache\conf\extra\httpd-ssl.conf→ Puerto HTTPS (443)
✅ 1. Cambiar el puerto HTTP (80 → 8080, por ejemplo)
Paso 1: Abrir httpd.conf
En XAMPP Control Panel → Apache → Config → httpd.conf
Busca esta línea:
Listen 80
Cámbiala por:
Listen 8080
Luego busca:
ServerName localhost:80
Cámbiala por:
ServerName localhost:8080
Guarda y cierra.
✅ 2. Cambiar el puerto HTTPS (443 → 8443, por ejemplo)
Paso 1: Abrir httpd-ssl.conf
XAMPP Control Panel → Apache → Config → Apache (httpd-ssl.conf)
Busca:
Listen 443
Cámbiala por:
Listen 8443
Luego busca:
<VirtualHost _default_:443>
Cámbiala por:
<VirtualHost _default_:8443>
Busca también:
ServerName www.example.com:443
Cámbiala por:
ServerName www.example.com:8443
Guarda y cierra.
🔁 3. Reiniciar Apache
En XAMPP Control Panel:
- Haz clic en Stop en Apache
- Luego Start
Debe iniciar sin errores.
🌐 4. Probar en navegador
Según los nuevos puertos:
HTTP:
http://localhost:8080/
HTTPS:
https://localhost:8443/
🛑 5. Si Apache sigue sin iniciar (error de puerto ocupado)
Identifica qué programa usa el puerto.
En PowerShell:
netstat -ano | findstr :80
Luego ver qué proceso es:
tasklist /FI "PID eq <PID>"
Para cerrar:
taskkill /PID <PID> /F
Programas más comunes que bloquean el puerto 80:
- Skype
- IIS (World Wide Web Publishing Service)
- VMware / Hyper-V services
- TeamViewer
- Microsoft SQL Reporting Services
📌 6. Consejo importante
En XAMPP, si cambias el puerto HTTP, el acceso al panel debe ser así:
http://localhost:8080/dashboard/