ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Проблема с ssi



On Mon, 5 Dec 2005, [windows-1251] Игорь Гердлер wrote:

Спасибо большое за подсказку и огромное спасибо за Ваши программы!!!
Действительно не работало из-за отсутствия "/" в конце директивы proxy_pass
-             proxy_pass  http://localhost:40080;
+             proxy_pass  http://localhost:40080/;
хотя в документации в примерах их нет.
Не могли бы Вы в двух словах прокоментировать обработку ssi nginx'ом в моем случае. Вкратце повторю проблему: с backend'а грузится страница /test2.html в ней include virtual страницы /footer.html. nginx вместо /footer.html повторно запрашивает /test2.html, вновь обрабатывает в ней include virtual... и так далее до бесконечности :о)
Как только прописал
proxy_pass  http://localhost:40080/;
вместо
proxy_pass  http://localhost:40080;
все заработало нормально.

http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_pass

-----------
Кроме того, можно указать, чтобы URI запроса передавалось в том же виде,
как его прислал клиент, а не в в обработанном виде. Во время обработки

    * два и более слэшей преобразуются в один слэш: "//"  "/";
    * убираются ссылки на текущий каталог: "/./"  "/";
    * убираются ссылки на предыдущий каталог: "/dir/../"  "/".

Если на сервер нужно передать URI в необработанном виде, то для этого
в директиве proxy_pass нужно указать URL сервера без URI:

location  /some/path/ {
    proxy_pass   http://127.0.0.1;
}
-----------

Так как в "http://localhost:40080"; нет URI, то бэкенду передавался
URI присланный клиентом, то есть, "/test2.html".

На мой взгляд, это ошибка, нужно будет запертить это для подзапросов.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.