Ако индексният файл не е посочен в настройките на Nginx, сървърът ще върне грешка 403 Forbidden при достъп до главната директория. За да отстраните този проблем, трябва да добавите директивата index в конфигурацията на сървъра и да посочите желания файл (обикновено index.html или index.php).
Грешката 403 Forbidden в Linux означава, че потребителят, който осъществява достъп до сървъра, няма права за достъп до искания ресурс. Това може да е причинено от неправилни разрешения за даден файл или директория, настройки за сигурност на сървъра или конфигурация на 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 не е посочен индексен файл, ще се получи грешка 404. Можете да добавите директива за индекс към местоположението
си:
location / {
index index.php index.html index.htm;
}
Или директно към сървъра, в Nginx всички местоположения наследяват директивите, зададени в сървъра