Nginx instellen als reverse proxy en webserver - volledige handleiding
Nginx is een krachtig en veelzijdig instrument dat zowel als webserver als reverse proxy kan fungeren. Of u nu een website host, applicaties laadt of verkeer verdeelt tussen servers: Nginx biedt een efficiënte oplossing. In deze handleiding ontdekt u hoe u Nginx optimaliseert voor beide rollen – met praktische configuratievoorbeelden, security checks en tips voor Vlaamse ontwikkelaars en systeembeheerders.
Wat is Nginx en waarom als reverse proxy gebruiken?
Nginx ("engine X") is een lichtgewicht, hoogperformante webserver die vaak wordt ingezet voor:
- Het serveren van statische content (HTML, CSS, JavaScript)
- Load balancing tussen backend-servers
- SSL/TLS-terminatie
- Reverse proxy-functionaliteit voor applicaties zoals Node.js, Python of Java
Als reverse proxy fungeert Nginx als tussenpersoon tussen clients en backend-servers. Dit verbetert:
- Prestaties: Caching en compressie
- Beveiliging: Verbergt de interne serverarchitectuur
- Schaalbaarheid: Eenvoudig meerdere backend-servers toevoegen
Nginx installeren (Ubuntu/Debian)
Installeer Nginx via de pakketbeheerder:
sudo apt update && sudo apt install nginx -y
Controleer de versie en status:
nginx -v
systemctl status nginx
Basisconfiguratie als webserver
Standaard serveert Nginx bestanden vanuit /var/www/html. Pas dit aan in /etc/nginx/sites-available/default:
server {
listen 80;
server_name jesite.nl www.jesite.nl;
root /var/www/mijnsite;
index index.html;
}
Test de configuratie en herlaad:
nginx -t && systemctl reload nginx
Nginx als reverse proxy instellen
Een eenvoudige reverse proxy-configuratie voor een Node.js-app op poort 3000:
server {
listen 80;
server_name api.jesite.nl;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Geavanceerde proxy-instellingen
- Caching: Vermindert de belasting van backend-servers
- Load balancing: Verdeelt verkeer over meerdere servers
- WebSockets: Vereist aanvullende headers
Beveiliging en optimalisatie
Scan uw configuratie op kwetsbaarheden met Gixy:
gixy-next /etc/nginx/nginx.conf
Essentiële security-tips:
- Gebruik altijd SSL/TLS (bijv. via Let's Encrypt)
- Stel strikte permissions in voor configuratiebestanden
- Beperk HTTP-methods (schakel TRACE/DEBUG uit)
Veelvoorkomende problemen oplossen
502 Bad Gateway: Meestal een backend-server die niet reageert. Controleer:
curl -I http://localhost:3000Performance issues: Optimaliseer worker-processen en buffer sizes:
worker_processes auto;
events {
worker_connections 1024;
}
Conclusie
Nginx is een ideaal instrument om zowel als webserver als reverse proxy te fungeren. Met de juiste configuratie:
- Serveert u statische content razendsnel
- Verbindt u veilig met backend-applicaties
- Schaalt u eenvoudig onder zware belasting
Experimenteer met de voorbeelden, monitor de prestaties en vergeet niet regelmatig security audits uit te voeren met tools zoals Gixy. Zo haalt u het maximale uit uw Nginx-installatie.