Probleem: Nginx 403 Forbidden Fout Voor Statische Bestanden
De Nginx 403 Forbidden fout treedt op bij het proberen statische bestanden te serveren, waardoor de toegang tot website resources wordt geblokkeerd. Dit probleem kan de functie van een website beïnvloeden, omdat het gebruikers verhindert afbeeldingen, stylesheets of andere statische content te zien.
Het Probleem Diagnosticeren
Nginx configuratie controleren
Om de Nginx 403 Forbidden fout op te lossen, bekijk uw Nginx configuratie. Controleer het location blok voor statische bestanden in uw nginx.conf of server block bestand. Dit blok bepaalt hoe Nginx verzoeken voor statische content verwerkt.
Voorbeeld van een location blok:
location /static {
root /var/www/mysite;
try_files $uri =404;
}
Controleer of de root of alias directive correct is ingesteld. De root directive stelt de basismap in voor verzoeken, terwijl de alias directive een ander pad instelt voor de gespecificeerde locatie.
Tip: Nginx Configuratie Problemen Oplossen
Gebruik het nginx -t commando om uw Nginx configuratie te testen op syntaxfouten. Dit commando controleert de configuratiebestanden en rapporteert eventuele problemen, waardoor u snel problemen kunt identificeren en oplossen.
Bestands- en mapmachtigingen onderzoeken
Controleer vervolgens de bestands- en mapmachtigingen van uw statische content. Gebruik het ls -l commando om het eigendom en de machtigingen van bestanden en mappen te zien.
Voorbeeld:
ls -l /var/www/mysite/static
Bevestig dat de Nginx gebruiker (vaak www-data of nginx) leestoegang heeft tot de bestanden en uitvoeringsrechten voor de mappen. De uitvoeringsrechten op mappen stellen de gebruiker in staat om toegang te krijgen tot de inhoud van de map.
Om de Nginx gebruiker te vinden, kijk in uw nginx.conf bestand naar de user directive of gebruik dit commando:
ps aux | grep nginx
Als de machtigingen verkeerd zijn, moet u ze mogelijk wijzigen met behulp van de chmod en chown commando's.
Oplossingen Om De 403 Forbidden Fout Op Te Lossen
Nginx gebruikersconfiguratie aanpassen
Om de 403 Forbidden fout op te lossen, moet u mogelijk de user directive in uw nginx.conf bestand wijzigen. Deze directive bepaalt onder welke gebruiker Nginx draait, wat invloed heeft op de toegang tot bestanden en mappen.
- Open uw nginx.conf bestand (meestal in /etc/nginx/):
sudo nano /etc/nginx/nginx.conf
- Zoek de user directive bovenaan het bestand. Het kan er zo uitzien:
user www-data;
- Wijzig indien nodig de gebruiker zodat deze overeenkomt met de eigenaar van uw statische bestanden. Bijvoorbeeld:
user your_username;
-
Sla het bestand op en sluit de editor.
-
Herstart Nginx om de wijzigingen toe te passen:
sudo systemctl restart nginx
Tip: Nginx Gebruiker Verifiëren
Om te controleren onder welke gebruiker Nginx draait, gebruik het commando:
ps aux | grep nginx
Dit toont u de processen die Nginx draaien en de gebruiker die is gekoppeld aan elk proces.
Bestands- en mapmachtigingen corrigeren
Pas het eigendom en de machtigingen van uw statische bestanden aan om Nginx toegang te geven:
- Wijzig het eigendom van statische bestanden naar de Nginx gebruiker:
sudo chown -R nginx:nginx /path/to/your/static/files
- Stel lees- en uitvoeringsrechten in:
sudo chmod -R 755 /path/to/your/static/files
Dit commando geeft lees- en uitvoeringsrechten aan de eigenaar, en alleen-lezen toegang aan anderen.
Nginx location blok bijwerken
Bekijk en corrigeer de root of alias directive in uw Nginx location blok:
- Open uw server block configuratiebestand:
sudo nano /etc/nginx/sites-available/your_site
- Zoek het location blok voor statische bestanden en controleer de root of alias directive:
location /static {
root /var/www/your_site;
# of
alias /path/to/your/static/files;
}
-
Zorg ervoor dat het pad naar uw statische bestanden correct is.
-
Sla het bestand op en sluit de editor.
-
Test de Nginx configuratie:
sudo nginx -t
- Als de test succesvol is, herlaad Nginx:
sudo systemctl reload nginx





