Complete handleiding voor het bouwen van een veilige Nginx reverse proxy
Het creëren van een veilige, betrouwbare en schaalbare reverse proxy is cruciaal voor bedrijven en IT-professionals die websites met veel verkeer of complexe applicaties beheren. Nginx, een open-source webserver en reverse proxy, is een krachtige oplossing voor het routeren, optimaliseren en beveiligen van verkeer naar uw back-endservices. In deze handleiding doorlopen we het proces van het opzetten van een robuuste reverse proxy met Nginx op Ubuntu 24.04, waarbij we cruciale stappen behandelen zoals TLS-encryptie, snelheidsbeperking en integratie met Cloudflare.
Als u websites, e-commerceplatforms of mediaservers op ondernemingsniveau beheert, helpt deze gids u de prestaties te verbeteren, de uptime te garanderen en uw infrastructuur te beschermen tegen kwetsbaarheden.
Wat is een Nginx reverse proxy?
Een reverse proxy van Nginx fungeert als een intermediaire server tussen clients en backend-services. Deze stuurt clientverzoeken door naar de juiste backend-server, optimaliseert de belastingverdeling, verbetert de beveiliging en maakt functies zoals caching, SSL-beëindiging en verkeersfiltering mogelijk. Deze configuratie is met name handig voor het hosten van mediaservers, multi-site applicaties en services achter firewalls.
sbb-itb-59e1987
Waarom u een reverse proxy nodig hebt
Een reverse proxy biedt verschillende belangrijke voordelen:
- Verbeterde beveiliging: Verbergt IP's van backendservers en maakt encryptie via TLS/SSL mogelijk.
- Load Balancing: Verdeelt het verkeer gelijkmatig over meerdere backendservers.
- Optimalisatie: Vermindert de latentie en verbetert de resource-efficiëntie.
- Schaalbaarheid: Maakt het eenvoudiger om scenario's met veel verkeer te beheren.
- Gemakkelijk beheer: Vereenvoudigt de configuratie van meerdere backendservices achter een uniform domein.
In deze tutorial laten we zien hoe u:
- Stel Nginx in als reverse proxy.
- Beveilig uw installatie met Let's Encrypt TLS-certificaten.
- Configureer geavanceerde optimalisaties zoals snelheidsbeperking en doorsturen van verzoeken.
- Integreer Cloudflare om ISP-poortbeperkingen te omzeilen.
Stap 1: Nginx en Certbot installeren op Ubuntu 24.04
Werk uw systeem bij
Voordat u software installeert, moet u ervoor zorgen dat uw systeem up-to-date is:
sudo apt update en sudo apt upgrade Installeer Nginx en Certbot
Gebruik de volgende opdrachten om Nginx en Certbot te installeren met de Nginx-plug-in:
sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y Installatie verifiëren
Bevestig dat Nginx draait:
sudo systemctl status nginx Om de toegang te testen, bepaalt u het IP-adres van uw server:
IP-adres Bezoek het IP-adres in een browser. Als het lukt, zie je de standaard Nginx-welkomstpagina.
Stap 2: Firewallregels configureren
Eenvoudige firewall (UFW) inschakelen
Met UFW kunt u firewallregels eenvoudig beheren:
sudo ufw allow 'Nginx Full' sudo ufw allow OpenSSH sudo ufw enable Controleer de status van uw firewall om er zeker van te zijn dat de juiste poorten open zijn:
sudo ufw-status Stap 3: Nginx-proxyconfiguratie instellen
Aangepaste configuratiebestanden maken
Voor meer flexibiliteit en beveiliging kunt u fragmentbestanden gebruiken om specifieke configuraties op te slaan. Maak de volgende bestanden:
- Beveiligingsheaders:
Definieer beveiligingsheaders om de beveiliging te verbeteren:sudo nano /etc/nginx/snippets/security-headers.confadd_header X-Frame-Opties "ZELFDEORIGIN"; add_header X-Content-Type-Opties "nosniff"; add_header X-XSS-Protection "1; mode=block"; - Proxy-instellingen:
Optimaliseer lange stromen en voorkom trage reacties:sudo nano /etc/nginx/snippets/proxy.confproxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; - Tarieflimieten:
Beperk overmatige verzoeken:sudo nano /etc/nginx/snippets/rate-limit.conflimit_req_zone $binary_remote_addr zone=mylimit:10m snelheid=10r/s;
Snippets opnemen in hoofdconfiguratie
Bewerk de hoofdconfiguratie van Nginx:
sudo nano /etc/nginx/nginx.conf Voeg het volgende toe onder de http blok:
inclusief /etc/nginx/snippets/*.conf; Start Nginx opnieuw om de wijzigingen toe te passen:
sudo systemctl herladen nginx Stap 4: Reverse Proxy instellen voor een back-endservice
Een virtuele host aanmaken
Maak een configuratiebestand voor uw back-endservice:
sudo nano /etc/nginx/sites-available/jellyfin Voorbeeldconfiguratie voor een Jellyfin-mediaserver:
server { luister 80; servernaam jelly.uwdomein.com; locatie / { proxy_pas http://10.10.0.112:8096; include /etc/nginx/snippets/proxy.conf; } } Maak de site toegankelijk door een symbolische link te maken:
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ Test en herlaad Nginx:
sudo nginx -t sudo systemctl reload nginx Stap 5: Uw domein beveiligen met Let's Encrypt TLS
Gebruik Let's Encrypt om gratis certificaten uit te geven om uw domein te beveiligen:
sudo certbot --nginx -d jelly.uwdomein.com Certbot configureert SSL automatisch in uw Nginx-sitebestand. Om ervoor te zorgen dat certificaten automatisch worden verlengd, controleert u of de systemd-timer actief is:
sudo systemctl list-timers | grep certbot Stap 6: Cloudflare integreren voor extra beveiliging en ISP-poortbypass
Cloudflared installeren
Cloudflared creëert een beveiligde tunnel om verkeer via Cloudflare te routeren, waarbij ISP-beperkingen op poorten 80 en 443 worden omzeild:
- Download de
.debpakket van de GitHub-pagina van Cloudflare. - Installeer het pakket:
sudo dpkg -i cloudflared-versie.deb
Een tunnel configureren
Verifieer met uw Cloudflare-account:
cloudflared tunnel login Een nieuwe tunnel maken:
cloudflared tunnel maak mijn-tunnel Bewerk het Cloudflare-configuratiebestand:
sudo nano /etc/cloudflared/config.yml Voorbeeldconfiguratie:
tunnel: mijn-tunnel inloggegevensbestand: /home/gebruiker/.cloudflared/mijn-tunnel.json ingang: - hostnaam: jelly.uwdomein.com service: http://localhost:8096 - service: http_status:404 Start en activeer de tunnelservice:
sudo systemctl activeert cloudflared sudo systemctl start cloudflared Belangrijkste punten
- Nginx Reverse Proxy: Essentieel voor het veilig routeren van verkeer en het optimaliseren van back-endservices.
- TLS-codering: Gebruik Let's Encrypt om uw domeinen te beveiligen met gratis SSL-certificaten.
- Firewallregels: Open de benodigde poorten voor HTTP (80), HTTPS (443) en SSH (22).
- Beveiligingsoptimalisatie: Implementeer headers en snelheidsbeperking om aanvallen te voorkomen.
- Cloudflare-integratie: Gebruik Cloudflared-tunnels voor veilige, ISP-vriendelijke hosting.
- Administratie: Systemd-timers zorgen ervoor dat SSL-certificaten automatisch worden verlengd.
Conclusie
Het opzetten van een veilige Nginx reverse proxy vereist aandacht voor detail en zorgvuldige configuratie, maar de voordelen zijn de moeite meer dan waard. Of u nu mediaservers zoals Jellyfin host of bedrijfsapplicaties beheert, deze handleiding geeft u de tools en kennis om een zeer veilige en efficiënte omgeving te creëren. Met functies zoals TLS, Cloudflare-tunnels en geavanceerde optimalisaties is uw infrastructuur klaar voor de moderne eisen.
Bron: "Stop met het blootstellen van je apps! Bouw een veilige Nginx reverse proxy!" – KeepItTechie, YouTube, 19 augustus 2025 – https://www.youtube.com/watch?v=MzbhS2S7H_g
Gebruik: Ingebed ter referentie. Korte citaten gebruikt voor commentaar/recensie.
Gerelateerde blogberichten
- Nginx-configuraties onder de knie krijgen voor optimale webserverprestaties
- NGINX-configuratie onder de knie krijgen: hoe Serverion succes in B2B-webhosting mogelijk maakt
- NGINX Config Rewind: Serverion laat de verloren kunst van proxycache-tuning herleven
- De vergeten NGINX-configuratiegrens: Serverion's duik in FastCGI-microcaching