Я пытаюсь понять, как работает Nginx. Сейчас я работаю над показатель
и try_files
директивы. Мой конфигурационный файл таков:
События {}
http {
перезаписать_журнал;
error_log /var/log/nginx/localhost.error_log отладка;
сервер {
корень /приложение;
слушать 8080;
индекс index.html;
место расположения / {
try_files $uri $uri/ =404;
}
}
}
Также /приложение/
каталог дерева:
/приложение
|-- abcd.html
|-- файл.php
|-- index.html
|-- index.php
|-- сс
| `-- index.html
|-- стиль.css
`-- thumb.png
Когда я пытаюсь открыть локальный: 8080
все работает как положено. Сначала он использует место расположения /
контекст. Затем использует $ури/
для чтения корневого каталога. Затем, поскольку было указано имя файла индекса, он использует файл индекса в этом каталоге. Кроме того, файл журнала может показать, что:
...
27.10.2021 11:37:49 [отладка] 1297#1297: *1 тестовое местоположение: "/"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 с использованием конфигурации "/"
...
27.10.2021 11:37:49 [отладка] 1297#1297: *1 общая фаза: 12
27.10.2021, 11:37:49 [отладка] 1297#1297: *1 попытка обработчика файлов
27.10.2021 11:37:49 [отладка] 1297#1297: *1 HTTP-скрипт var: "/"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 попытка использовать файл: "/" "/app/"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 HTTP-скрипт var: "/"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 попытка использовать каталог: "/" "/app/"
27.10.2021, 11:37:49 [отладка] 1297#1297: *1 попытка uri файла: "/"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 общая фаза: 13
2021/10/27 11:37:49 [отладка] 1297#1297: *1 фаза содержания: 14
27.10.2021 11:37:49 [отладка] 1297#1297: *1 открытый индекс "/app/index.html"
27.10.2021 11:37:49 [отладка] 1297#1297: *1 внутреннее перенаправление: "/index.html?"
...
Но когда я открываю локальный: 8080/sss
, Сначала он отвечает перенаправлением на локальный хост: 8080/sss/
, затем открывает индексный файл внутри ссс/
каталог. Вот журналы:
27.10.2021 11:46:07 [отладка] 1297#1297: *3 тестовое местоположение: "/"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 с использованием конфигурации "/"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 http cl:-1 max:1048576
2021/10/27 11:46:07 [отладка] 1297#1297: *3 фаза перезаписи: 3
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 фаза пост-перезаписи: 4
2021/10/27 11:46:07 [отладка] 1297#1297: *3 общая фаза: 5
...
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 попытка обработчика файлов
27.10.2021 11:46:07 [отладка] 1297#1297: *3 HTTP-скрипт var: "/sss"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 попытка использовать файл: "/sss" "/app/sss"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 HTTP-скрипт var: "/sss"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 попытка использовать каталог: "/sss" "/app/sss"
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 попробуйте uri файла: "/sss"
2021/10/27 11:46:07 [отладка] 1297#1297: *3 общая фаза: 13
2021/10/27 11:46:07 [отладка] 1297#1297: *3 фаза содержания: 14
...
2021/10/27 11:46:07 [отладка] 1297#1297: *3 фаза содержания: 18
27.10.2021 11:46:07 [отладка] 1297#1297: *3 http имя файла: "/app/sss"
27.10.2021 11:46:07 [отладка] 1297#1297: *3 добавить очистку: 000055AA4A146290
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 http static fd: -1
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 http каталог
27.10.2021 11:46:07 [отладка] 1297#1297: *3 HTTP-запрос финализации: 301, "/sss?" а:1, в:1
27.10.2021 11:46:07 [отладка] 1297#1297: *3 Специальный ответ http: 301, "/sss?"
27.10.2021, 11:46:07 [отладка] 1297#1297: *3 http set discard body
...
Почему он не ответил индексным файлом внутри ссс/
каталог, как и корневой каталог, без внешнего перенаправления?