Betalingsmetoder Abuse

Hvad gør man, hvis indeksfilen ikke er angivet i Nginx-indstillingerne?

  • Hjem
  • Videnbase
  • Hvad gør man, hvis indeksfilen ikke er angivet i Nginx-indstillingerne?
28.11.2023, 23:29

Hvis indeksfilen ikke er angivet i Nginx-indstillingerne, vil serveren returnere en 403 Forbidden-fejl ved adgang til rodmappen. For at løse dette problem skal du tilføje index-direktivet til serverkonfigurationen og angive den ønskede fil (normalt index.html eller index.php).

Hvad betyder 403 Forbidden?

Fejlen 403 Forbidden i Linux betyder, at den bruger, der tilgår serveren, ikke har adgangsrettigheder til den ønskede ressource. Det kan skyldes forkerte tilladelser til en fil eller et bibliotek, serverens sikkerhedsindstillinger eller Nginx-konfigurationen.

For at løse denne fejl skal du sørge for, at tilladelserne til filer og mapper er indstillet korrekt, og kontrollere serverkonfigurationen.

Sådan ser det ud i praksis

Et eksempel:

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

I dette eksempel har vi specificeret, at serveren ved adgang til rodmappen skal lede efter filen index.html og vise dens indhold. Hvis en sådan fil mangler, vil der blive returneret en 404 Not Found-fejl.

Når du har foretaget ændringer i serverkonfigurationen, skal du genstarte Nginx for at anvende indstillingerne:

sudo systemctl restart nginx

Hvis du anmoder om en URL som /vstats/, men du ikke har angivet en indeksfil i dine Nginx-indstillinger, vil du fejle og få en 404. Du kan tilføje et index-direktiv til din placering:

location / {
index index.php index.html index.htm;
}

Eller direkte til serveren, i Nginx arver alle placeringer de direktiver, der er angivet i serveren.