Практическое задание

Эта задача — шаг 12 курса «Основы nginx»

Стили лендинга отдают 403

средне~5 мин

Лендинг из /srv/landing открывается на http://localhost/, но без оформления: файл стилей /css/site.css отвечает 403 Forbidden. nginx запущен, конфиг валиден. Разберись с правами и почини, чтобы стили отдавались со статусом 200. Права «на запись всем» не раздавай.

Что потренируешь:
  • права доступа
  • chmod
  • nginx 403
  • бит x на каталоге
  • error.log

Разбор темы

nginx-воркер работает не от root, а от непривилегированного пользователя (www-data), и видит файлы сайта с правами «остальных». Чтобы отдать файл, ему нужен бит r на сам файл и бит x на каждый каталог по пути — без x в каталог нельзя «войти», даже если файл внутри открыт для чтения. Поэтому 403 бывает не на весь сайт, а на отдельный раздел: главная отдаётся, а файлы в подкаталоге с правами 700 — нет. Причину и путь называет error.log (Permission denied), а лечится это точечным chmod, без раздачи 777.

Что проверяется

  1. стили отдаются со статусом 200
  2. главная по-прежнему открывается
  3. запись для всех не открыта

Как это выглядит