Inloggen
Inloggen

Voorbeelden van de Nginx Location-directive

Voorbeelden van de Nginx Location-directive
Adnene Mabrouk
Technisch schrijver
Nginx-webserver
09.02.2026
Reading time: 5 min

De Nginx location-directive is een krachtig hulpmiddel voor het beheren van verschillende soorten requests. Door regels te definiëren in location-blokken kun je specifieke configuraties toepassen, verkeer naar verschillende delen van je applicatie routeren of bepaalde requests volledig weigeren. Correct gebruik van de Nginx location-directive is essentieel voor betere prestaties, beveiliging en functionaliteit van webapplicaties.

Basissyntaxis van de Nginx Location-directive

De location-directive wordt gedefinieerd in het configuratiebestand nginx.conf:

location [modifier] uri { ... }

  • modifier – optionele parameter die het type match bepaalt (bijv. exact, prefix, regex)

  • uri – de URI die moet worden gematcht

Binnen de accolades kun je verschillende instellingen definiëren, zoals proxy_pass, root en index.

Exacte match

Een exacte match treedt alleen op wanneer de opgegeven string exact overeenkomt met de aangevraagde URI.

location = /exact-match {

    root /var/www/html;

    index index.html;

}

Alleen requests naar /exact-match worden door dit location-blok verwerkt.

Je kunt ook voorwaarden toevoegen met if (houd er rekening mee dat Nginx geen klassieke if-else kent):

location = /exact-match {

    root /var/www/html;

    index index.html;

    if ($http_user_agent ~* "Chrome") {

        add_header X-Browser "Chrome";

    }

}

Als de user agent Chrome is, wordt een extra header X-Browser toegevoegd.

Prefix-match

Dit is het meest voorkomende type en matcht elke URI die begint met de opgegeven string:

location /prefix {

    root /var/www/html;

    index index.html;

    if ($request_method = POST) {

        return 405;

    }

}

Requests zoals /prefix/page1 of /prefix/page2 worden hier verwerkt. Bij POST-requests retourneert Nginx 405 Method Not Allowed.

Reguliere expressies

Voor complexere matches kun je regex gebruiken.

Veelgebruikte wildcards:

  • . – elk enkel teken

  • .* – willekeurige tekenreeks

  • ^ – begin van de string

  • $ – einde van de string

location ~* \.php$ {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fastcgi_params;

    if ($request_uri ~* "/admin") {

        return 403;

    }

    if ($request_uri !~* "/admin") {

        add_header X-Admin "Not Admin";

    }

}

Uitleg:

  • ~* betekent hoofdletterongevoelige regex

  • \.php$ matcht alle PHP-bestanden

  • bevat de URI /admin → 403 Forbidden

  • anders wordt X-Admin: Not Admin toegevoegd

Hoofdletterongevoelige match

location ~* \.jpg$ {

    root /var/www/images;

    if ($http_referer !~* "^https?://(www\.)?example\.com") {

        return 403;

    }

}

Alle JPG-varianten worden gematcht, maar alleen geserveerd als de referer van example.com komt.

Prioriteit van location-blokken

Nginx volgt deze volgorde:

  1. Exact (=) – hoogste prioriteit

  2. Regex (~, ~*) – in volgorde van definitie

  3. Prefix (/) – langste prefix wint

Voorbeeld:

location = /exact { }

location ~* \.jpg$ { }

location / { }

Geneste location-blokken

location /nested {

    location /nested/subnested {

        root /var/www/html;

    }

    root /var/www/html;

}

/nested/subnested wordt verwerkt door het binnenste blok.

Praktisch webservervoorbeeld

server {

listen 80;

server_name localhost;

location / {

root /var/www/html;

index index.html;

}

location = /about {

root /var/www/html;

index about.html;

}

location /api {

proxy_pass http://localhost:3000;

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;

}

location ~ \.php$ {

root /var/www/html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

location ~* \.(jpg|jpeg|png|gif|ico)$ {

root /var/www/images;

}

location /admin {

root /var/www/admin;

index index.html;

location /admin/stats {

proxy_pass http://localhost:8080/stats;

}

}

}

NGINX herladen

sudo systemctl reload nginx

Testen en debuggen

Configuratie controleren:

sudo nginx -t

Requests testen:

curl -I http://localhost/about

curl -X POST http://localhost/prefix/form

curl -H "User-Agent: Chrome" http://localhost/exact-match

Logs bekijken:

tail -f /var/log/nginx/access.log

tail -f /var/log/nginx/error.log

Toegangsbeperking voor gevoelige locaties

location /admin {

    allow 192.168.1.100;

    deny all;

}

Alleen deze IP krijgt toegang.

root vs alias

Directive

Gedrag

Resultaat

root

voegt URI toe

/var/www/static/css/style.css

alias

vervangt prefix

/var/www/assets/css/style.css

Alias-voorbeeld:

location /files/ {

    alias /data/downloads/;

}

Let op: gebruik altijd een afsluitende / bij alias.

Conclusie

Een goed begrip van de location-directive is essentieel voor correcte request-afhandeling. Exacte matches, prefixes en regex hebben elk hun eigen prioriteit en beïnvloeden prestaties en gedrag. Door location-blokken te nesten krijg je zeer fijne controle over URL-routing. Wie deze patronen beheerst, bouwt schone, efficiënte en veilige Nginx-configuraties.

Nginx-webserver
09.02.2026
Reading time: 5 min

Vergelijkbaar

Nginx-webserver

Hoe u services blootstelt met de Nginx Proxy Manager

Wat is Nginx Proxy Manager? Nginx Proxy Manager is een gebruiksvriendelijke interface voor het beheren van reverse proxies. Het vereenvoudigt het routeren van verkeer naar verschillende services en maakt dit toegankelijk, zelfs voor gebruikers zonder diepgaande netwerkkennis. Door een grafische gebruikersinterface (GUI) bovenop Nginx te bieden, stelt deze tool gebruikers in staat om snel proxy hosts, SSL-certificaten en diverse geavanceerde configuraties in te stellen en te beheren, zonder dat complexe commandoregelbewerkingen nodig zijn. Installatie van Nginx Proxy Manager Dankzij Docker is de installatie van Nginx Proxy Manager eenvoudig. Hieronder vind je een stapsgewijze handleiding: Vereisten Docker en Docker Compose moeten geïnstalleerd zijn op je cloudserver Basiskennis van Docker-commando’s Installatiestappen Maak een map aan voor Nginx Proxy Manager en ga ernaartoe: mkdir nginx-proxy-manager cd nginx-proxy-manager Maak een bestand docker-compose.yml aan met de volgende inhoud: version: '3' services:   app:     image: 'jc21/nginx-proxy-manager:latest'     restart: always     ports:       - '80:80'       - '81:81'       - '443:443'     environment:       DB_MYSQL_HOST: "db"       DB_MYSQL_PORT: 3306       DB_MYSQL_USER: "npm"       DB_MYSQL_PASSWORD: "npm"       DB_MYSQL_NAME: "npm"     volumes:       - ./data:/data       - ./letsencrypt:/etc/letsencrypt   db:     image: 'mysql:5.7'     restart: always     environment:       MYSQL_ROOT_PASSWORD: 'npm'       MYSQL_DATABASE: 'npm'       MYSQL_USER: 'npm'       MYSQL_PASSWORD: 'npm'     volumes:       - ./data/mysql:/var/lib/mysql Start de containers: docker-compose up -d Open Nginx Proxy Manager via het IP-adres van je server op poort 81 (bijvoorbeeld http://localhost:81). Nginx Proxy Manager instellen Na de installatie is het tijd voor de eerste configuratie: Inloggen:Open je browser en ga naar http://<jouw-server-ip>:81. De standaard inloggegevens zijn: E-mail: admin@example.com Wachtwoord: changeme Standaardgegevens wijzigen:Wijzig direct je e-mailadres en wachtwoord om Nginx Proxy Manager te beveiligen. Dashboard-overzicht:Het dashboard biedt een overzicht van je proxy hosts, SSL-certificaten en andere configuraties. Maak jezelf vertrouwd met de interface. Een nieuwe proxy host configureren Om een service beschikbaar te maken, moet je een nieuwe proxy host configureren: Een nieuwe proxy host toevoegen Ga naar de sectie “Proxy Hosts” Klik op “Add Proxy Host” Domeinnamen invoeren:Voer de domeinnamen in die je aan deze service wilt koppelen. Meerdere domeinen kunnen worden gescheiden door komma’s. Forward Hostname/IP en poort:Voer het interne IP-adres en het poortnummer van de service in.Voorbeeld: als een webservice draait op poort 8080, voer je 192.168.1.100 en 8080 in. Opties: Vink “Block Common Exploits” aan voor een extra beveiligingslaag Schakel “Websockets Support” in als je service dit vereist SSL:Je kunt een bestaand SSL-certificaat gebruiken of een nieuw certificaat aanvragen via Let’s Encrypt. Opslaan:Klik op “Save” om de proxy host-configuratie te voltooien. SSL-certificaten beheren SSL-certificaten zijn essentieel voor het beveiligen van je services. Nginx Proxy Manager maakt dit proces eenvoudig: Een nieuw SSL-certificaat aanvragen: Ga naar de sectie “SSL Certificates” Klik op “Add SSL Certificate” Selecteer “Let’s Encrypt” en voer de vereiste gegevens in, zoals e-mailadres en domeinnaam Automatische verlenging:Nginx Proxy Manager verlengt Let’s Encrypt-certificaten automatisch, zodat je services veilig blijven zonder handmatige acties. Eigen certificaten:Als je een eigen SSL-certificaat hebt, kun je dit hier ook uploaden. Geavanceerde configuratieopties Nginx Proxy Manager biedt diverse geavanceerde opties om je setup fijn af te stemmen: Access Lists: Beperk toegang tot je services met toegangs­lijsten Sta verkeer toe of blokkeer het op basis van IP-adressen Redirection Hosts: Stel eenvoudig omleidingen in van het ene domein naar het andere Stream Hosts: Gebruik streams om TCP/UDP-verkeer te beheren, zoals SSH- of FTP-services Aangepaste Nginx-configuratie: Voeg aangepaste Nginx-directives toe als je service specifieke configuraties vereist Services beschikbaar maken: stapsgewijze handleiding Het publiceren van een service met Nginx Proxy Manager bestaat uit meerdere stappen: Service identificeren:Bepaal het interne IP-adres en de poort van de service. Proxy host aanmaken:Volg de stappen in de sectie “Een nieuwe proxy host configureren”. SSL inschakelen:Vraag een SSL-certificaat aan voor het domein van de service. Configuratie testen:Open de service via de domeinnaam om te controleren of alles correct werkt. Monitoren en aanpassen:Controleer regelmatig de prestaties en pas instellingen aan indien nodig. Monitoring en logging Nginx Proxy Manager beschikt over ingebouwde monitoring- en logging­functies: Logs: Bekijk logs via de sectie “Logs” Logs bevatten gedetailleerde informatie over inkomende verzoeken, zoals IP-adressen, request-paden en response-statussen Monitoring: Gebruik het dashboard om de status van je proxy hosts en SSL-certificaten te volgen Zorg ervoor dat SSL-certificaten actueel zijn en alle services correct functioneren Problemen oplossen SSL-certificaatfouten: Controleer of het domein correct naar het IP-adres van je server verwijst Verifieer dat poorten 80 en 443 open en bereikbaar zijn 502 Bad Gateway: Controleer of de service die je beschikbaar maakt actief is en intern bereikbaar Bevestig dat het juiste interne IP-adres en de juiste poort zijn ingevoerd Time-outs bij verbindingen: Controleer je firewallinstellingen Test de verbinding tussen je server en de service Conclusie Nginx Proxy Manager vereenvoudigt het beschikbaar maken van services aanzienlijk en is een uitstekend hulpmiddel voor zowel beginners als ervaren gebruikers. Dankzij de gebruiksvriendelijke interface en krachtige functies kun je snel reverse proxies opzetten, services beveiligen met SSL-certificaten en eventuele problemen efficiënt oplossen. Door de stappen in deze gids te volgen, ben je goed op weg om services effectief te beheren en te publiceren met Nginx Proxy Manager.
23 January 2026 · 6 min to read

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support