Wat doet deze configuratie?
Deze aanpassing wijzigt het location / blok in de Nginx-configuratie zodat:
Niet-ingelogde bezoekers automatisch worden doorgestuurd naar
/wp-login.php.Ingelogde WordPress-gebruikers (herkend aan de
wordpress_logged_in_cookie) de site normaal kunnen bezoeken./wp-adminen de loginpagina zelf altijd bereikbaar blijven — anders kan niemand inloggen.
De site blijft dus volledig functioneel voor ingelogde redacteuren en beheerders, maar is afgeschermd voor de buitenwereld.
Stap 1 — Open de Nginx-configuratie
De Nginx-configuratie staat in de nginx/ map op het volume van de site. Je kunt erbij via één van deze methoden (allemaal pakken hetzelfde bestand aan):
Toegangsmethode | Hoe |
CloudShell | Webterminal in CloudPress — eenvoudigste optie |
File Manager | Webbestandsbeheer in CloudPress |
SSH | Verbind met de Bastion-container via de SSH-gegevens uit CloudPress |
SFTP | Verbind met de Bastion-container via de SFTP-gegevens uit CloudPress |
Navigeer naar de nginx/ map. In de Bastion-container staat die op: /home/sftpuser/apps/{containernaam}/wordpress/nginx/
Stap 2 — Controleer of er al een eigen site.conf bestaat
In de nginx/ map staat standaard site.conf.sample. Dit is een template - het systeem leest dit bestand niet, het dient alleen als referentie.
Pas zodra je een bestand site.conf aanmaakt (zonder de .sample extensie), wordt dat actief gebruikt door Nginx.
Controleer eerst of er al een site.conf bestaat:
Bestaat al → bewerk dat bestand. De klant heeft mogelijk al eerdere aanpassingen.
Bestaat nog niet → kopieer eerst de sample:
bash
cp nginx/site.conf.sample nginx/site.conf
⚠️ Werk nooit in site.conf.sample zelf. Dat bestand wordt niet uitgelezen, dus je wijzigingen hebben geen effect.
Stap 3 — Pas het location / blok aan
Open nginx/site.conf en zoek dit blok:
nginx
location / {
try_files $uri $uri/ /index.php?$args;
}Vervang het volledig door:
nginx
location / {
# Stuur niet-ingelogde bezoekers door naar de loginpagina,
# behalve voor /wp-admin (zodat inloggen en SSO blijven werken)
set $need_login 0;
if ($http_cookie !~* "wordpress_logged_in_") {
set $need_login 1;
}
if ($request_uri ~* "^/wp-admin") {
set $need_login 0;
}
if ($need_login = 1) {
return 302 /wp-login.php;
}
try_files $uri $uri/ /index.php?$args;
}Sla het bestand op.
Stap 4 - Herstart de WordPress-container
Nginx leest de configuratie alleen opnieuw als de container herstart wordt. Doe dit vanuit CloudPress: ga naar de site en klik op Restart.
Stap 5 - Controleer of het werkt
Open een incognito/privé venster (geen WordPress-cookies).
Bezoek de homepage van de site.
Je zou direct doorgestuurd moeten worden naar
/wp-login.php.Log in en controleer of de site nu normaal werkt.
Hoe schakel je het weer uit?
Twee opties:
Volledig terug naar default: verwijder
nginx/site.conf(de.sampleblijft bestaan) en herstart de container. Nginx valt automatisch terug op de standaardconfiguratie.Alleen dit blok terugzetten: vervang het aangepaste
location /blok insite.confweer door de originele drie regels (try_files $uri $uri/ /index.php?$args;) en herstart.
Veelvoorkomende problemen
Symptoom | Oorzaak | Oplossing |
Wijziging heeft geen effect na herstart | Bewerkt in | Controleer met |
Redirect loop op | De uitzondering voor | Controleer of het |
Site nog steeds publiek toegankelijk | Bunny CDN heeft de oude versie gecachet | Purge de CDN cache via CloudPress |
502 / 500 na herstart | Syntaxfout in | Verwijder |
