Що робити, якщо в налаштуваннях 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

Знижка 15% на новий VPS
Встигніть замовити сервер у будь-якій локації
Вибрати VPS

Інші статті

28.11.2023
21 409
База знань / Команди
Команда touch у Linux
28.11.2023
9 649
База знань / Інформація
Утиліта Dconf editor: функції та встановлення
28.11.2023
6 513
База знань / Інформація
Призначення утиліти wget