Hello!

On Thu, Jun 05, 2014 at 04:27:02AM -0400, endo wrote:

> Доброго дня всем.
> 
> Возник вопрос: как реализовать логику фильтрации content-type в ответе от
> upstream , и в зависимости от этого - отдавать определенный код (404 если не
> разрешенный content-type от апстрима).
> 
> 
> Пробовал через переменную $upstream_http_content_type
> 
> map $upstream_http_content_type $ctype_allowed {
>         default    0;
>         "~image" 1;
> }
> 
> ...
> add_header X-ctype $ctype_allowed;
> 
> в таком варианте заголовок проставляется вроде бы правильный, но как по
> переменной $ctype_allowed или в принципе по содержимому заголовков от
> апстрима разрешить или запретить ответ клиенту?

Для произвольного типа - никак, надо писать собственный фильтр, 
который сделает это (ну или искать сторонний).

Конкретно для картинок - имеет смысл посмотреть на "image_filter 
test".  Там, правда, не проверка типа, а анализ сигнатур 
содержимого (и безусловное переопределение типа по результатам 
анализа).  Подробности тут:

http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html

-- 
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить