Nginx-configuratiegenerator
Een Nginx-configuratie vanaf nul schrijven betekent dat je elke regel proxy_set_header en elk MIME-type dat gzip moet comprimeren uit je hoofd kent, en dat je het verschil ziet tussen try_files $uri/ /index.php?$args en de variant die de routing stilletjes sloopt. Deze generator vraagt om het domein, de upstream, de PHP-handler en de paden naar je SSL-bestanden, en levert daarna een server block op met verstandige standaardwaarden voor TLS, HTTP/2, caching van statische bestanden en compressie.
Zo genereer je jouw server block
-
1
Kies een preset
Statische site, PHP-FPM (Laravel, WordPress), een reverse proxy voor Node.js of een simpele 301-redirect.
-
2
Vul het domein in
Neem de volledige server_name-lijst op, meestal de variant met en zonder www.
-
3
Stel de SSL-gegevens in
Verwijs naar je fullchain- en privkey-bestanden, of sla deze stap over als je alleen HTTP gebruikt.
-
4
Pas de upstream aan
Poort, socketpad of backend-URL voor situaties met proxy_pass.
-
5
Kopieer en zet live
Zet de uitvoer in /etc/nginx/sites-available, voer nginx -t uit en herlaad Nginx.
Hoe een goed server block eruitziet
Een moderne virtuele host in Nginx bestaat meestal uit deze onderdelen:
| Onderdeel | Functie |
|---|---|
listen 443 ssl http2 |
Accepteert HTTPS met HTTP/2 ingeschakeld |
ssl_certificate + ssl_certificate_key |
Wijst het TLS-certificaat en de privésleutel aan |
ssl_protocols TLSv1.2 TLSv1.3 |
Zet oude TLS-versies buitenspel |
gzip on + typenlijst |
Comprimeert tekst/HTML/JSON/JS/CSS tijdens het uitleveren |
expires-headers voor statische bestanden |
Beperkt herhaalde verzoeken van terugkerende bezoekers |
try_files |
Stuurt door naar een front controller (PHP, Laravel enzovoort) |
| HSTS + beveiligingsheaders | Dwingt de browser om TLS te blijven gebruiken |
De basis van een reverse proxy
Voor Node.js-, Python- en Ruby-apps die achter Nginx draaien:
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
X-Forwarded-For vergeten is de klassieke manier om de echte IP-adressen van bezoekers kwijt te raken in je applicatielogs.
Veelgemaakte fouten
- Geen fallback voor server_name. Als geen enkele naam overeenkomt, gebruikt Nginx het eerste server block als standaard. Zet er een catch-all
server_name _-block bij dat 444 teruggeeft, zodat aanvallen via de Host-header geen kans krijgen. - Verkeerde volgorde van het certificaat. Het bestand
ssl_certificatemoet de volledige keten bevatten (fullchain: het servercertificaat plus de tussenliggende certificaten), niet alleen het servercertificaat. - Te gretig cachen.
expires 1ymeesturen voor/index.htmlmaakt elke volgende release onzichtbaar. Voorzie in plaats daarvan de URL’s van statische bestanden van een versienummer. - Herladen zonder test. Voer altijd eerst
nginx -tuit en pas daarnasystemctl reload nginx: één syntaxfout haalt de hele site offline.
Veelgestelde vragen
HTTP/2 is stabiel en wordt breed ondersteund vanaf Nginx 1.25. HTTP/3 (QUIC) is er vanaf dezelfde versie, maar nog als experimentele functie. Zet voor een productieconfiguratie vandaag HTTP/2 aan en voeg desgewenst HTTP/3 toe met de directives http3 en quic.
De conventie is /etc/ssl/certs/ voor publieke ketens en /etc/ssl/private/ voor privésleutels. Let’s Encrypt zet alles onder /etc/letsencrypt/live/domain/. Volg het pad dat je verlengingstool verwacht.
Ja, voor vrijwel elke site. Voeg een apart server block op poort 80 toe dat 301 https://$host$request_uri teruggeeft. In combinatie met HSTS wordt dat HTTP-block na het eerste verzoek nauwelijks nog aangesproken.
Voer sudo nginx -t uit om de configuratie te controleren zonder te herladen. Verschijnt “syntax is ok” en “test is successful”, herlaad dan met sudo systemctl reload nginx. Gebruik in productie nooit restart: herladen wisselt de configuratie zonder het verkeer te onderbreken.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
E-mailvalidator
Valideer een e-mailadres: RFC 5322-syntaxcontrole, live MX-record-zoekopdracht, plus details over lokaal deel, domein en lengte. Er wordt geen e-mail verstuurd.
EditorConfig-generator
Genereer een .editorconfig-bestand met uw regels voor inspringstijl en -grootte, regeleinde, tekenset en witruimte voor consistente opmaak in alle IDE's en editors.
Changelog-generator
Maak een markdown-sectie in Keep a Changelog-stijl op basis van gecategoriseerde items. Plak de items onder Added, Changed, Fixed en Removed, kies Markdown of platte tekst en kopieer de uitvoer.
Tool beschikbaar in andere talen
- Nginx 設定ジェネレーター [JA]
- Trình tạo cấu hình Nginx [VI]
- Nginx 설정 생성기 [KO]
- مولّد إعدادات Nginx [AR]
- Gerador de Configuração Nginx [PT]
- Nginx Konfigurationsgenerator [DE]
- Generador de Configuración de Nginx [ES]
- Générateur de configuration Nginx [FR]
- Nginx-konfigurationsgenerator [SV]
- Generator Konfigurasi Nginx [ID]
- ตัวสร้างไฟล์ config ของ Nginx [TH]
- Generator konfiguracji Nginx [PL]
- Nginx Config Generator [EN]
- Generatore di Configurazione Nginx [IT]
- Генератор конфигураций Nginx [RU]
- Nginx Yapılandırma Üreteci [TR]
- Nginx 配置生成器 [ZH]