Hoe stel ik een reverse proxy in op mijn VPS met Nginx Proxy Manager?
Tutorial

Hoe stel ik een reverse proxy in op mijn VPS met Nginx Proxy Manager?

Bijgewerkt op 18 maart 2026

In dit artikel leer je hoe je Nginx Proxy Manager installeert op jouw VPS. Met een reverse proxy kun je meerdere websites en applicaties op één VPS hosten, elk bereikbaar via een eigen domeinnaam en beveiligd met een SSL-certificaat.

Nog geen VPS? Bekijk onze VPS hosting pakketten en lanceer jouw VPS direct.

Wat is een reverse proxy?

Een reverse proxy is een tussenlaag die binnenkomend verkeer ontvangt en doorstuurt naar de juiste applicatie op jouw VPS. Stel dat je op jouw VPS een website, een dashboard en een API draait. Zonder reverse proxy moet je elke applicatie op een ander poortnummer bereiken, zoals :3000, :8080 en :8443. Met een reverse proxy kun je ze allemaal bereiken via een eigen domeinnaam op poort 80 en 443, zoals website.nl, dashboard.website.nl en api.website.nl.

Wat is Nginx Proxy Manager?

Nginx Proxy Manager is een gratis tool waarmee je een reverse proxy beheert via een overzichtelijke webinterface. Je kunt domeinnamen koppelen aan applicaties en automatisch gratis SSL-certificaten aanvragen via Let's Encrypt, allemaal zonder configuratiebestanden te hoeven bewerken.

Vereisten

Voordat je begint heb je het volgende nodig:

  • Een KaasHosting VPS met Ubuntu of Debian.

  • Docker en Docker Compose geïnstalleerd op jouw VPS.

  • Eén of meer domeinnamen die via DNS naar het IP-adres van jouw VPS wijzen.

  • SSH-toegang tot jouw VPS.

💡 Tip: heb je Docker nog niet geïnstalleerd? Volg de officiële Docker installatie-instructies voor Ubuntu.

Stap 1: Docker Compose bestand aanmaken

  1. Maak via SSH verbinding met jouw VPS.

  2. Maak een nieuwe map aan voor Nginx Proxy Manager:

mkdir -p ~/nginx-proxy-manager
cd ~/nginx-proxy-manager
  1. Maak een docker-compose.yml bestand aan:

nano docker-compose.yml
  1. Plak de volgende inhoud in het bestand:

yaml

services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "81:81"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  1. Sla het bestand op met Ctrl + X, druk op Y en daarna op Enter.

⚠️ Let op: poort 80 en 443 worden gebruikt voor webverkeer. Poort 81 is de beheerinterface van Nginx Proxy Manager. Zorg ervoor dat deze poorten niet al in gebruik zijn door een andere applicatie op jouw VPS.

Stap 2: Nginx Proxy Manager starten

  1. Start Nginx Proxy Manager met het volgende commando:

docker compose up -d
  1. Wacht tot Docker de image heeft gedownload en de container draait. Je kunt controleren of alles goed draait met:

docker compose ps

[screenshot: terminal output van docker compose ps]

Stap 3: Inloggen in de beheerinterface

  1. Open een browser en ga naar http://<jouw-vps-ip>:81.

  2. Log in met de standaard inloggegevens:

    • E-mail: admin@example.com

    • Wachtwoord: changeme

  3. Je wordt direct gevraagd om een nieuw e-mailadres en wachtwoord in te stellen. Doe dit meteen.

⚠️ Let op: verander de standaard inloggegevens direct na de eerste keer inloggen. Laat de beheerinterface niet toegankelijk met de standaard gegevens.

Stap 4: Een domeinnaam koppelen aan een applicatie

Zorg er voordat je begint voor dat het DNS A-record van jouw domeinnaam naar het IP-adres van jouw VPS wijst.

  1. Klik in Nginx Proxy Manager op Proxy Hosts in de navigatiebalk.

  2. Klik op Add Proxy Host.

De instellingen die je invult hangen af van waar de applicatie draait.

Applicatie op dezelfde VPS

Draait de applicatie op dezelfde VPS als Nginx Proxy Manager? Dan verwijs je naar het lokale adres van de applicatie. Stel dat je een website hebt draaien op poort 3000:

  • Domain Names: app.jouwdomein.nl

  • Scheme: http

  • Forward Hostname / IP: 172.17.0.1

  • Forward Port: 3000

💡 Tip: gebruik 172.17.0.1 als de applicatie direct op de VPS draait (niet in Docker). Draait de applicatie ook in Docker? Gebruik dan de naam van de Docker container of het Docker netwerk-IP.

Applicatie op een ander apparaat of server

Je kunt Nginx Proxy Manager ook gebruiken als toegangspoort voor applicaties die ergens anders draaien, bijvoorbeeld een Minecraft server met BlueMap, een NAS in je thuisnetwerk of een andere VPS. Stel dat BlueMap draait op een server met IP 10.0.0.50 op poort 8100:

  • Domain Names: kaart.jouwdomein.nl

  • Scheme: http

  • Forward Hostname / IP: 10.0.0.50

  • Forward Port: 8100

⚠️ Let op: de applicatie op het andere apparaat moet bereikbaar zijn vanaf jouw VPS. Bij een extern IP-adres moet de poort open staan. Bij een intern netwerk (zoals een thuisnetwerk) heb je een VPN-verbinding tussen de VPS en het netwerk nodig.

Proxy host opslaan

  1. Schakel Block Common Exploits in.

Stap 5: SSL-certificaat instellen

  1. Klik in hetzelfde venster op het tabblad SSL.

  2. Selecteer bij SSL Certificate de optie Request a new SSL Certificate.

  3. Schakel Force SSL in om al het verkeer automatisch via HTTPS te laten lopen.

  4. Klik op Save.

Nginx Proxy Manager vraagt nu automatisch een gratis SSL-certificaat aan via Let's Encrypt en verlengt dit ook automatisch.

💡 Tip: het aanvragen van een SSL-certificaat kan alleen als jouw domeinnaam al correct naar het IP-adres van jouw VPS wijst. Controleer dit vooraf met een tool zoals dig of nslookup.

Stap 6: Meer domeinnamen toevoegen

Herhaal stap 4 en 5 voor elke applicatie die je wilt koppelen aan een domeinnaam. Je kunt lokale en externe applicaties door elkaar gebruiken. Zo kun je met één Nginx Proxy Manager meerdere websites en services beheren, ongeacht waar ze draaien.

Beheerinterface beveiligen

Standaard is de beheerinterface bereikbaar op poort 81 via het openbare internet. Het is aan te raden om deze te beveiligen door de beheerinterface via Nginx Proxy Manager zelf te proxyen op een eigen domeinnaam met SSL.

  1. Zorg ervoor dat het DNS A-record van bijvoorbeeld npm.jouwdomein.nl naar het IP-adres van jouw VPS wijst.

  2. Maak in Nginx Proxy Manager een nieuwe Proxy Host aan:

    • Domain Names: npm.jouwdomein.nl

    • Scheme: http

    • Forward Hostname / IP: 127.0.0.1

    • Forward Port: 81

  3. Stel een SSL-certificaat in via het tabblad SSL, net als bij een gewone proxy host.

  4. Optioneel: voeg een Access List toe onder het tabblad Access List om de toegang te beperken met een IP-whitelist of gebruikersnaam en wachtwoord.

  5. Open docker-compose.yml en verwijder de poort van "81:81" zodat de beheerinterface niet meer rechtstreeks bereikbaar is:

yaml

    ports:
      - "80:80"
      - "443:443"
  1. Pas de wijziging toe:

docker compose up -d

De beheerinterface is nu alleen nog bereikbaar via https://npm.jouwdomein.nl en niet meer via poort 81 van buitenaf.

⚠️ Let op: als Nginx Proxy Manager onbereikbaar wordt, kun je tijdelijk niet bij de beheerinterface. Verander in dat geval "127.0.0.1:81:81" terug naar "81:81" in de docker-compose.yml en draai docker compose up -d opnieuw om weer toegang te krijgen.

Meer informatie

Meer weten over Nginx Proxy Manager? Bekijk de officiële documentatie.

Heb je een domeinnaam nodig? Registreer er eentje via onze domein hosting.

Alle VPS hosting pakketten van KaasHosting zijn geschikt voor het draaien van Docker en Nginx Proxy Manager.