Clone
2
NPM
groales edited this page 2025-12-04 10:45:56 +01:00
Despliegue con Nginx Proxy Manager (NPM)
NetBox detrás de NPM con certificado SSL de Let's Encrypt.
Requisitos Previos
- ✅ NPM desplegado y accesible
- ✅ Red Docker
proxycreada - ✅ DNS apuntando al servidor
Pasos de Configuración
1. Desplegar NetBox
En Portainer, crea el stack sin archivo override (solo docker-compose.yml):
Variables de entorno:
DB_PASSWORD=password_generado_1
REDIS_PASSWORD=password_generado_2
SUPERUSER_EMAIL=admin@example.com
SUPERUSER_PASSWORD=password_generado_3
⚠️ No añadas
DOMAIN_HOST- Solo se usa con Traefik
2. Configurar Proxy Host en NPM
- Accede a NPM (ej:
https://npm.tudominio.com) - Ve a Hosts → Proxy Hosts → Add Proxy Host
Pestaña Details
- Domain Names:
netbox.tudominio.com - Scheme:
http - Forward Hostname / IP:
netbox - Forward Port:
8000 - ✅ Cache Assets: Activado
- ✅ Block Common Exploits: Activado
- ✅ Websockets Support: Activado
Pestaña SSL
- SSL Certificate:
Request a new SSL Certificate - Email: tu@email.com
- ✅ Force SSL: Activado
- ✅ HTTP/2 Support: Activado
- ✅ HSTS Enabled: Activado (opcional)
- ✅ HSTS Subdomains: Activado (opcional)
- Save
3. Verificar
- Accede a
https://netbox.tudominio.com - Verifica el certificado SSL (candado verde)
- Login con
SUPERUSER_EMAILySUPERUSER_PASSWORD
Configuración Avanzada (Opcional)
Custom Nginx Configuration
Si necesitas ajustes específicos, ve a Advanced en el Proxy Host:
# Aumentar timeout para operaciones largas
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
# Headers adicionales
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
# Buffer size para uploads grandes
client_max_body_size 100M;
Solución de Problemas
502 Bad Gateway
Causa: NetBox no está accesible
Solución:
# Verificar que NetBox está corriendo
docker ps | grep netbox
# Ver logs
docker logs netbox
# Verificar conexión desde NPM
docker exec -it npm ping netbox
Certificado SSL no se genera
Soluciones:
- Verificar que DNS apunta correctamente:
nslookup netbox.tudominio.com - Verificar puertos 80/443 abiertos
- Revisar logs de NPM
- Intentar con Use a DNS Challenge si tienes firewall
Error de permisos
Si ves errores de permisos en NetBox:
docker exec -it netbox chown -R abc:abc /config
docker restart netbox
Comparación NPM vs Traefik
| Característica | NPM | Traefik |
|---|---|---|
| Configuración | GUI (más fácil) | Código (más flexible) |
| SSL Automático | Manual por host | Automático |
| Múltiples servicios | Requiere configurar cada uno | Auto-discovery |
| Wildcards | Requiere DNS Challenge | Soportado |
| Middlewares | Limitados | Extensos |
Recomendación:
- NPM: Si tienes pocos servicios y prefieres GUI
- Traefik: Si gestionas muchos servicios y quieres automatización
Próximos Pasos
- Configuración Inicial - Setup de NetBox
- Personalización - LDAP, plugins
- Backup - Protege tus datos