Způsoby platby Abuse

Co dělat, když v nastavení Nginxu není zadán indexový soubor

28.11.2023, 23:29

Pokud není indexový soubor v nastavení Nginxu zadán, vrátí server při přístupu do kořenového adresáře chybu 403 Forbidden. Chcete-li tento problém vyřešit, musíte do konfigurace serveru přidat direktivu index a zadat požadovaný soubor (obvykle index.html nebo index.php).

Co znamená 403 Forbidden?

Chyba 403 Forbidden v systému Linux znamená, že uživatel, který přistupuje k serveru, nemá přístupová práva k požadovanému prostředku. To může být způsobeno nesprávnými právy k souboru nebo adresáři, nastavením zabezpečení serveru nebo konfigurací Nginx.

Chcete-li tuto chybu odstranit, musíte se ujistit, že jsou správně nastavena oprávnění k souborům a adresářům, a zkontrolovat konfiguraci serveru.

Jak to vypadá v praxi

Příklad:

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

V tomto příkladu jsme zadali, že při přístupu do kořenového adresáře bude server hledat soubor index.html a zobrazí jeho obsah. Pokud takový soubor chybí, vrátí se chyba 404 Not Found.

Po provedení změn v konfiguraci serveru je nutné restartovat Nginx, aby se nastavení uplatnilo:

sudo systemctl restart nginx

Pokud si vyžádáte adresu URL jako /vstats/, ale v nastavení Nginx nemáte zadán soubor index, dojde k chybě a zobrazí se hlášení 404. Do umístění můžete přidat směrnici index:

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

Nebo přímo do serveru, v Nginxu všechna umístění dědí směrnice nastavené v serveru.