415 Unsupported Media Type with image_filter

Валентин Бартенев vbart на nginx.com
Пт Авг 5 12:26:24 UTC 2016


On Friday 05 August 2016 13:02:30 Eugene Prokopiev wrote:
> 4 августа 2016 г., 17:31 пользователь Валентин Бартенев
> <vbart на nginx.com> написал:
> > On Thursday 04 August 2016 17:26:09 Eugene Prokopiev wrote:
> > [..]
> >> В error.log вообще ничего даже с debug (и на собранном с --debug nginx
> >> соответственно). Вообще nginx собран так:
> >>
> > [..]
> >
> > Так может быть только если вы не в тот error_log смотрите или не там
> > его сконфигурировали.
> 
> Признаю свою ошибку и прикладываю два лога:
> 
> 1) nginx.ok.log записан при выполнении curl -O -X GET
> http://localhost/im/pictures/21520448/2006a3c5_original.jpg
> 2) nginx.fail.log записан при попытке открыть тот же урл в Chromium
> (результат с Firefox похож скорее на (1))
> 
> Где-то в течении часа проблема воспроизводится практически с
> гарантией, потом урл открывается всеми, но не открывается еще
> что-нибудь.
> 
> В nginx.fail.log смущает:
> 
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 input buf #0
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 malloc: 0000000000F054C0:4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 SSL_read: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 pipe recv chain: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 input buf #1
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 malloc: 0000000000F1C8A0:4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 SSL_read: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 pipe recv chain: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 input buf #2
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 malloc: 0000000000F1D8B0:4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 SSL_read: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 pipe recv chain: 4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 input buf #3
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 malloc: 0000000000F1E8C0:4096
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 SSL_read: -1
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 SSL_get_error: 2
> 2016/08/05 12:33:24 [debug] 8642#8642: *130 pipe recv chain: -2
> 
> Т.е. выглядит это как проблема на стороне a2.muscache.com, однако
> почему другой HTTP-агент нормально получает тот же самый файл?
> 
[..]

Очевидно разница в заголовках, которые посылает curl и Chrome.

В итоге для браузера Chrome ваш бекенд перекодирует картинку
в webp, о чем и сообщает в ответе:

  Content-Type: image/webp

Отключите эту функцию на бекенде или перезаписывайте заголовки.

--
Валентин Бартенев


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