🔀 Nginx Proxy Manager
Nginx Proxy Manager (NPM) is een reverse proxy die alle .hub domeinen mogelijk maakt.
Algemene Info
| Item | Waarde |
|---|---|
| Container | nginx-proxy-manager |
| Image | jc21/nginx-proxy-manager:latest |
| HTTP Poort | 80 |
| HTTPS Poort | 443 |
| Admin Poort | 81 |
| Admin URL | npm.hub of 192.168.1.13:81 |
Functies
- ✅ Reverse proxy - Routeert
.hubdomeinen naar containers - ✅ SSL/TLS - HTTPS met Let's Encrypt (indien nodig)
- ✅ Access Lists - Toegangscontrole per host
- ✅ Redirects - URL doorverwijzingen
- ✅ Custom locations - Geavanceerde routing
Hoe het Werkt
- Je typt
pihole.hubin browser - Pi-hole DNS vertaalt naar
192.168.1.13 - NPM ontvangt request op poort 80
- NPM kijkt naar hostname (
pihole.hub) - NPM routeert naar
pihole:80(container naam)
Geconfigureerde Proxy Hosts
| Domein | Forward Host | Forward Port | Websockets |
|---|---|---|---|
| dashboard.hub | homer | 8080 | Nee |
| pihole.hub | pihole | 80 | Nee |
| status.hub | uptime-kuma | 3001 | Ja |
| portainer.hub | portainer | 9000 | Ja |
| npm.hub | nginx-proxy-manager | 81 | Nee |
| guacamole.hub | guacamole | 8080 | Ja |
| duplicati.hub | duplicati | 8200 | Nee |
| docs.hub | mkdocs | 8000 | Nee |
Forward Host
De Forward Host is de container naam, niet het IP adres. Docker DNS zorgt voor de vertaling.
Proxy Host Toevoegen
- Ga naar npm.hub of
192.168.1.13:81 - Login met je credentials
- Klik Proxy Hosts → Add Proxy Host
Details Tab
| Veld | Waarde | Voorbeeld |
|---|---|---|
| Domain Names | Je .hub domein |
nieuw.hub |
| Scheme | http (meestal) | http |
| Forward Hostname | Container naam | mijn-container |
| Forward Port | Container poort | 8080 |
| Block Exploits | Aanvinken | ✅ |
| Websockets | Als nodig | Afhankelijk van service |
SSL Tab (optioneel)
Voor lokale services meestal niet nodig. Voor externe toegang:
- Selecteer "Request a new SSL Certificate"
- Vink "Force SSL" aan
- Vul email in
- Agree to Terms
Websockets
Zet Websockets AAN voor:
- Uptime Kuma
- Portainer
- Guacamole
- Elke real-time service
Eerste Keer Inloggen
Standaard credentials:
- Email: admin@example.com
- Password: changeme
Wijzig direct!
Wijzig deze credentials direct na eerste login!
Troubleshooting
502 Bad Gateway
Symptomen
- "502 Bad Gateway" error
- Service draait wel
Oorzaken en oplossingen:
- Verkeerde Forward Host:
- Gebruik container naam, niet IP
-
Check:
docker psvoor container naam -
Verkeerde poort:
- Check de interne poort van de container
-
Niet de gemapte host poort!
-
Container niet in zelfde netwerk:
-
Container down:
504 Gateway Timeout
Symptomen
- Pagina laadt lang, dan timeout
- Grote bestanden uploaden mislukt
Oplossing:
- Bewerk de proxy host
- Ga naar Advanced tab
- Voeg toe:
SSL Certificaat Errors
Voor lokale services:
- SSL is niet nodig voor .hub domeinen
- Gebruik gewoon HTTP
Bij "NET::ERR_CERT_AUTHORITY_INVALID": - Certificaat is self-signed - Klik "Advanced" → "Proceed" in browser - Of: vraag Let's Encrypt certificaat aan (vereist publiek domein)
.hub Domein Werkt Niet
-
Check DNS:
-
Voeg toe aan Pi-hole:
- Pi-hole → Local DNS → DNS Records
- Domein:
nieuw.hub -
IP:
192.168.1.13 -
Check NPM proxy host config
Access Lists
Beperk toegang tot bepaalde hosts:
- Access Lists → Add Access List
- Geef naam (bijv. "Alleen Thuis")
- Voeg toegestane IP ranges toe:
192.168.1.0/24192.168.10.0/24- Pas toe op proxy host
Custom Nginx Config
Voor geavanceerde configuratie, gebruik de Advanced tab:
# Voorbeeld: grotere uploads
client_max_body_size 100M;
# Voorbeeld: custom headers
proxy_set_header X-Real-IP $remote_addr;
Docker Compose
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./nginx-proxy-manager/data:/data
- ./nginx-proxy-manager/letsencrypt:/etc/letsencrypt
networks:
- proxy-net
Gerelateerd
- Pi-hole - DNS records voor
.hubdomeinen - Homer Dashboard - Links gebruiken de proxy hosts