Re: nginx: отображение динамически сформированной картинки

Sergey Shepelev temotor на gmail.com
Пн Фев 28 19:49:06 MSK 2011


2011/2/28 belbek <nginx-forum at nginx.us>:
> файл, генерирующий картинку,
> компилирую как test.gif
> вывод в браузер:
> printf("Content-Type: image/gif\n\n");
> //используется библиотека gdchart
>
> out_graph( 250, 400,   stdout,   GDC_3DBAR,  6,    t,     2,  a,     b
> );
> return 0;
>
> apache отображает картинку
> http://localhost/cgi-bin/test.gif без проблем
> заголовки(firefox):
> запрос:
> Host    localhost
> User-Agent      Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.12)
> Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12
> Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language ru,en-us;q=0.7,en;q=0.3
> Accept-Encoding gzip,deflate
> Accept-Charset  windows-1251,utf-8;q=0.7,*;q=0.7
> Keep-Alive      115
> Connection      keep-alive
> Cache-Control   max-age=0
>
> ответ:
> Date    Mon, 28 Feb 2011 16:28:49 GMT
> Server  Apache/2.2.14 (Ubuntu)
> Keep-Alive      timeout=15, max=100
> Connection      Keep-Alive
> Transfer-Encoding       chunked
> Content-Type    image/gif
>
>
> nginx картинку http://localhost/test.gif не
> отображает:
> Изображение «http://localhost/test.gif» не может
> быть показано, так как содержит ошибки.
>
> заголовки:
> запрос:
> Host    localhost
> User-Agent      Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.12)
> Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12
> Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language ru,en-us;q=0.7,en;q=0.3
> Accept-Encoding gzip,deflate
> Accept-Charset  windows-1251,utf-8;q=0.7,*;q=0.7
> Keep-Alive      115
> Connection      keep-alive
> Range   bytes=512-
> If-Range        Mon, 28 Feb 2011 16:13:41 GMT
> Cache-Control   max-age=0
>
> ответ:
> Server  nginx/0.8.54
> Date    Mon, 28 Feb 2011 16:33:29 GMT
> Content-Length  85947
> Last-Modified   Mon, 28 Feb 2011 16:13:41 GMT
> Accept-Ranges   bytes
>
> подскажите где искать, почему
> передаются разные заголовки запроса
> одним и тем же браузером, как исправить?
> Спасибо.
>

Проблема в том, что nginx не выполняет CGI и отдаёт браузеру бинарник.

Заголовки одинаковые, только во втором случае есть If-Range, потому
что у браузера есть копия картинки в кеше и он просит в случае
обновления прислать ему только diff, а не всю целиком.


Подробная информация о списке рассылки nginx-ru