Способи оплати Abuse

Що робити, якщо в налаштуваннях Nginx не вказано файл index

28.11.2023, 23:29

Якщо в налаштуваннях Nginx не вказано файл index, то під час звернення до кореневої директорії сервер повертатиме помилку 403 Forbidden. Щоб виправити цю проблему, потрібно додати в конфігурацію сервера директиву index і вказати бажаний файл (зазвичай це index.html або index.php).

Що означає 403 Forbidden?

Помилка 403 Forbidden у Лінукс означає, що користувач, який звертається до сервера, не має прав доступу до запитуваного ресурсу. Це може бути спричинено неправильними правами доступу на файл або директорію, налаштуваннями безпеки сервера або конфігурацією Nginx.

Для виправлення цієї помилки необхідно переконатися, що права доступу на файли і директорії встановлені правильно і перевірити конфігурацію сервера.

Як це виглядає на практиці

Приклад:

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

У цьому прикладі ми вказали, що під час звернення до кореневої директорії сервер шукатиме файл index.html і відображатиме його вміст. Якщо такий файл відсутній, то буде повернуто помилку 404 Not Found.

Після внесення змін до конфігурації сервера необхідно перезапустити Nginx для застосування налаштувань:

sudo systemctl restart nginx

Якщо ви запитуєте URL виду /vstats/, але в налаштуваннях Nginx не вказано файл index, у вас нічого не вийде, і ви отримаєте 404. Можна додати директиву index у ваш location:

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

Або відразу в server, у Nginx усі location успадковують директиви, встановлені в server