add_after_body, странное поведение

Igor Sysoev is at rambler-co.ru
Sun Jul 15 00:18:13 MSD 2007


On Fri, Jul 13, 2007 at 06:07:26PM +0400, dwl wrote:

> Помогите понять причину странного поведения директивы add_after_body.
> Цель: Необходимо длинную подпапку с сайта2 показать как корень сайта1.
> И если это текстовый документ (не картинка), то снизу вывести еще текст 
> (/help.html)
> Пишу конфиг:
> 
>    server {
>        listen          1.1.1.1:80;
>        server_name     site1.com;
>        root            /www;
> 
>        access_log      /log/access_log;
>        error_log       /log/error_log error;
> 
>        location = / {
>            proxy_pass          http://site2.com/path1/start.html
>            proxy_set_header    Host    site2.com;
>            add_after_body      /help.html;
>        }
>        location / {
>            rewrite             ^/(.+)$ /path1/$1 break;
>            proxy_pass          http://site2.com;
>            proxy_set_header    Host    site2.com;
>            add_after_body      /help.html;
>        }
>        location ~* \.(png|gif|jpg|jpeg|css)$ {
>            rewrite             ^/(.+)$ /path1/$1 break;
>            proxy_pass          http://site2.com;
>            proxy_set_header    Host    site2.com;
>        }
>        location = /help.html {
>        }
>        location = /favicon.ico {
>        }
>    }
> 
> В doc_root сайта1 лежат только 2 файла help.html & favicon.ico, 
> остальное проксируется.
> 
> В Opera работает. Так же все видно, если скачать страницу с помощью 
> lynx, wget, fetch.
> А вот IE & FF не показывают тело help.hml, т.е. пусто, видно только 
> конец исходной страницы (</html> ) и дальше нечего.
> Почему такое поведение? С чем это может быть связано?

Смотрите, как сделано на narod.ru.
Возможно, IE и FF после /html воспринимают только javascript.

> И почему nginx не пишет в лог запрос к файлу /help.html, даже в том 
> случае, когда он его отдал (случай с Opera).

Это внутренний подзапрос, он не пишется в логи.


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





More information about the nginx-ru mailing list