Kennisbank Nginx Nginx instellen als reverse proxy en webserver - Complete handleiding
nginx gemiddeld 09 July 2026

Nginx instellen als reverse proxy en webserver - Complete handleiding

Leer hoe je Nginx instelt als reverse proxy en webserver met onze praktische handleiding. Stap-voor-stap uitleg voor developers en systeembeheerders.

```html

Nginx instellen als reverse proxy en webserver: een praktische handleiding

Nginx is een van de meest gebruikte webservers ter wereld, bekend om zijn snelheid, stabiliteit en veelzijdigheid. Of je nu een website wilt hosten, een API achter een reverse proxy wilt plaatsen of meerdere diensten via één server wilt beheren – Nginx biedt de oplossing. In dit artikel leggen we stap voor stap uit hoe je Nginx instelt als reverse proxy én als webserver, inclusief praktische tips voor optimale prestaties.

Wat is Nginx en waarom kiezen voor een reverse proxy?

Nginx is een open-source webserver die ook functioneert als reverse proxy, load balancer en cachingtool. Het is lichtgewicht en kan duizenden gelijktijdige verbindingen aan, waardoor het ideaal is voor moderne webapplicaties.

Een reverse proxy fungeert als tussenpersoon tussen clients en backend-servers. Dit biedt voordelen zoals:

  • Verbeterde beveiliging (verbergt backend-servers)
  • Load balancing (verdeelt verkeer over meerdere servers)
  • Caching (versnelt laadtijden)
  • SSL-terminatie (vereenvoudigt certificaatbeheer)

Nginx installeren op je server

Voor we Nginx als reverse proxy of webserver kunnen gebruiken, moet het geïnstalleerd zijn. Hieronder vind je de commando's voor populaire Linux-distributies:

Ubuntu/Debian sudo apt update sudo apt install nginx

CentOS/RHEL sudo yum install epel-release sudo yum install nginx

Start en enable Nginx sudo systemctl start nginx sudo systemctl enable nginx

Controleer of Nginx draait door je server-IP in een browser te openen. Je zou de welkomstpagina moeten zien.

Nginx configureren als webserver

Standaard serveert Nginx bestanden uit /var/www/html. Laten we een basiswebsite instellen:

  1. Maak een directory voor je site: sudo mkdir -p /var/www/mijnsite.nl/html
  2. Zet de juiste permissies: sudo chown -R $USER:$USER /var/www/mijnsite.nl/html
  3. Maak een test index.html bestand aan
  4. Maak een serverblok (virtual host) aan in /etc/nginx/sites-available/mijnsite.nl: server { listen 80; server_name mijnsite.nl www.mijnsite.nl; root /var/www/mijnsite.nl/html; index index.html; location / { try_files $uri $uri/ =404; } }
  5. Activeer de configuratie: sudo ln -s /etc/nginx/sites-available/mijnsite.nl /etc/nginx/sites-enabled/
  6. Test de configuratie en herlaad Nginx: sudo nginx -t sudo systemctl reload nginx

Nginx als reverse proxy instellen

Stel dat je een Node.js, Python of andere applicatie draait op poort 3000. We kunnen Nginx als reverse proxy configureren om verkeer naar deze applicatie te sturen:

server { listen 80; server_name api.mijnsite.nl; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }

Belangrijke proxy-directives:

  • proxy_pass: Definieert de backend-server
  • proxy_set_header: Behoudt belangrijke headers
  • proxy_http_version: Ondersteunt HTTP/1.1 voor betere prestaties

Geavanceerde reverse proxy configuraties

Load balancing

Met Nginx kun je verkeer verdelen over meerdere backend-servers:

upstream backend_servers { server backend1.mijnsite.nl:3000; server backend2.mijnsite.nl:3000; server backend3.mijnsite.nl:3000; }

server { location / { proxy_pass http://backend_servers; } }

SSL-terminatie

SSL-certificaten kunnen gecentraliseerd worden beheerd bij Nginx:

server { listen 443 ssl; server_name api.mijnsite.nl; ssl_certificate /pad/naar/certificaat.pem; ssl_certificate_key /pad/naar/sleutel.key; location / { proxy_pass http://localhost:3000; ... overige proxy-instellingen } }

Praktische tips voor Nginx optimalisatie

  • Worker processes: Zet worker_processes auto; in nginx.conf voor optimale CPU-benutting
  • Keepalive: Verhoog keepalive_timeout voor langdurige HTTP-verbindingen
  • Gzip-compressie: Activeer gzip om bandbreedte te besparen
  • Caching: Configureer caching voor statische bestanden
  • Logging: Beperk logging voor betere prestaties (access_log off; voor statische bestanden)

Veelvoorkomende problemen en oplossingen

502 Bad Gateway: Meestal betekent dit dat Nginx de backend-server niet kan bereiken. Controleer of je applicatie draait en of de poort in proxy_pass klopt.

Permission denied: Zorg dat de Nginx gebruiker (www-data of nginx) leesrechten heeft op je websitebestanden.

Configuratiefouten: Gebruik altijd sudo nginx -t voor het testen van je configuratie voordat je Nginx herlaadt.

Conclusie

Nginx is een krachtig hulpmiddel dat zowel als webserver als reverse proxy kan fungeren. Met de juiste configuratie kun je:

  • Websites en applicaties efficiënt hosten
  • Verkeer optimaal verdelen over backend-servers
  • Beveiliging en prestaties verbeteren
  • Complexe architecturen vereenvoudigen

Begin met de basisconfiguraties in dit artikel en breid geleidelijk uit naar geavanceerdere setup. Vergeet niet om wijzigingen altijd eerst te testen met nginx -t voordat je ze activeert.

```

← Terug naar kennisbank