On Mon, 5 Dec 2005, [windows-1251] Игорь Гердлер wrote:
Спасибо большое за подсказку и огромное спасибо за Ваши программы!!!
Действительно не работало из-за отсутствия "/" в конце директивы proxy_pass
- proxy_pass ;
+ proxy_pass ;
хотя в документации в примерах их нет.
Не могли бы Вы в двух словах прокоментировать обработку ssi nginx'ом в моем
случае. Вкратце повторю проблему:
с backend'а грузится страница /test2.html в ней include virtual страницы
/footer.html. nginx вместо /footer.html повторно запрашивает /test2.html,
вновь обрабатывает в ней include virtual... и так далее до бесконечности :о)
Как только прописал
proxy_pass ;
вместо
proxy_pass ;
все заработало нормально.
-----------
Кроме того, можно указать, чтобы URI запроса передавалось в том же виде,
как его прислал клиент, а не в в обработанном виде. Во время обработки
* два и более слэшей преобразуются в один слэш: "//" "/";
* убираются ссылки на текущий каталог: "/./" "/";
* убираются ссылки на предыдущий каталог: "/dir/../" "/".
Если на сервер нужно передать URI в необработанном виде, то для этого
в директиве proxy_pass нужно указать URL сервера без URI:
location /some/path/ {
proxy_pass ;
}
-----------
Так как в "; нет URI, то бэкенду передавался
URI присланный клиентом, то есть, "/test2.html".
На мой взгляд, это ошибка, нужно будет запертить это для подзапросов.
Игорь Сысоев