# конспект · шаг 5 из 5
Конспект: root против alias
Как URI превращается в путь на диске - и чем alias отличается от root.
Две формулы
root + URI = путь root /var/www/static
/images/logo.png → /var/www/static/images/logo.png
alias заменяет часть URI, совпавшую с location
location /images/ { alias /mnt/pics/; }
/images/logo.png → /mnt/pics/logo.png
root дописывает URI целиком; alias подменяет совпавший префикс.
Запрос на каталог
index index.html; # что отдать вместо каталога
autoindex off; # по умолчанию: список файлов не показываем
Нет index-файла и autoindex off - будет 403, а не 404.
Ловушки джокера
- Пропавший слеш в
alias.location /files { alias /mnt/data/; }без слеша в location даёт alias-traversal: запрос/files../etc/passwdуходит выше каталога. Правило: уaliasслеш обязателен с обеих сторон, а лучше -location ^~ /files/. aliasс регулярным location требует, чтобы путь содержал захваты - иначе поведение неочевидное; в 99% случаев вместо этого хватаетroot.rootвнутри location не «добавляет» подкаталог - он заменяет унаследованный корень целиком, и URI дописывается к нему как обычно.- CVE-2026-27654: переполнение буфера в
COPY/MOVEв location сalias, закрыт в 1.29.7 - ещё одна причина не оставлять старую версию.
Комментарии
Пока нет комментариев. Будь первым!
Оставить комментарий