Обычно я хочу обслуживать файл index.html, когда http://mysite.com/
и требуется любой другой каталог. Следующее, в nginx.conf, делает это для /test
:
location /test {
try_files $uri.html $uri/index.html /index.html =404;
}
Если я хочу обслуживать файлы из того же места через cgi (на thttpd), это также работает должным образом, обслуживая запрограммированную cgi страницу:
location /test {
proxy_pass http://127.0.0.1:8000;
}
Моя проблема заключается в том, чтобы понять, как перейти на более глубокий уровень, например / test / page1. Если page1.html существует, я хочу, чтобы он обслужился, но если нет, я хочу, чтобы он перешел на сервер thttpd и запустил там программу cgi. Множество вариантов файла конфигурации, которые я пробовал, вызывают либо цикл перенаправления, либо файл не найден, либо ошибку с сервера. В других случаях я могу заставить его обслуживать файлы cgi и html, но попытка доступа к каталогу вызывает цикл.
Следующее тоже отчасти сработало, но я так выгорел, пробуя разные варианты, что заблудился.
location /test {
proxy_pass http://127.0.0.1:8000/test;
}
Я уверен, что мне не хватает одной простой фундаментальной вещи.