Nginx instellen als reverse proxy en webserver - complete handleiding
```html
Nginx instellen als reverse proxy en webserver: een praktische handleiding
Nginx is een krachtige en veelzijdige tool die zowel als webserver als reverse proxy kan fungeren. Of je nu een website host, applicaties laadt of verkeer verdeelt tussen servers: Nginx biedt een efficiënte oplossing. In deze handleiding ontdek je hoe je Nginx optimaliseert voor beide rollen – met praktische configuratievoorbeelden, security checks en tips voor Nederlandse developers 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: Verberg 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 simpele 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: Verminder belasting van backend-servers
- Load balancing: Verdeel verkeer over meerdere servers
- WebSockets: Vereist aanvullende headers
Beveiliging en optimalisatie
Scan je 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 gereedschap om zowel als webserver en reverse proxy te fungeren. Met de juiste configuratie:
- Serveer je statische content razendsnel
- Verbind je veilig met backend-applicaties
- Schaal je eenvoudig onder zware belasting
Experimenteer met de voorbeelden, monitor prestaties en vergeet niet regelmatig security audits uit te voeren met tools zoals Gixy. Zo haal je het maximale uit je Nginx-installatie.
```