ПРОЕКТЫ 


  АРХИВ 


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: small issue about Nginx upload module


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: small issue about Nginx upload module
  • From: Дмитрий Дедюхин <dedukhin@xxxxxxx>
  • Date: Sat, 24 Sep 2011 08:24:17 +0400
  • Cc: valery+nginx@xxxxxxxxxxx
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:Reply-To:In-Reply-To:References:Date:Mime-Version:Subject:Cc:To:From; bh=kqB/LoJ8Wo1FW4Gk4NYjiN4rAftT9YcdgAxOJGHJf7o=; b=Tm2EFfnwxl9nOhgkmSbbJoey38BxowoufqzT3yp4u3AiC0k71QgrEtfLTmJSzenL5htOfrlzCo7DKJUFG71h/jez188MJmpd+5WPpM0dSeOkKdZ4e0D7lHq7QbdmE5ec;
  • In-reply-to: <4E7D1431.5010603@xxxxxxxxxxxxx>
  • References: <4E7D1431.5010603@xxxxxxxxxxxxx>

Добрый день.

Модуль Валерия слишком полезен, поэтому все уже сделано давным давно.
Смотрите здесь https://github.com/vkholodkov/nginx-upload-module/commits/2.2 
коммиты от 14 декабря 2010 года и диррективу upload_add_header, предназначенную 
именно для этих целей.

24 сентября 2011, 03:23 от Roman Vasilyev <roman.vasilyev@xxxxxxxxxxxxx>:
> Наткнулся на достаточно неприятное поведение модуля.
> 
> При upload выдается нотификация из разряда:
> HTTP/1.1 200 OK
> Server: nginx/1.1.4
> Content-Type: text/html
> Transfer-Encoding: chunked
> Connection: keep-alive
> 
> в которой невозможно упавлять заголовками.
> тоесть Access-Control-Allow-Origin * выставить невозможно.
> Поскольку HTML5 работает crossdomain то без этого заголовка все идет прахом.
> Прилагаю пример конфига
> 
> location / {
> if ($request_method = 'OPTIONS') {
> add_header Access-Control-Allow-Origin *;
> add_header Access-Control-Allow-Methods 'POST, OPTIONS';
> add_header Access-Control-Allow-Headers
> 'X-Content-Range,Session-ID,Content-Type,Content-Disposition';
> return 200;
> }
> add_header Access-Control-Allow-Origin *;
> 
> upload_resumable on;
> upload_pass /uwsgi/blah;
> upload_store /usr/share/nginx/;
> }
> 
> захардкодил пока этот заголовок прямо в ответ сервера, хотя конечно это
> не дело, на всякий случай вкладываю патч того безобразия что я сделал, и
> всетаки хотелось бы получить более верное направление как это лучше решить.
> =============================================
> [root@pocsto01 nginx-1.1.4]# cat 123.patch
> diff -Naur nginx_upload_module-2.2.0/ngx_http_upload_module.c
> nginx_upload_module-2.2.0.new/ngx_http_upload_module.c
> --- nginx_upload_module-2.2.0/ngx_http_upload_module.c 2010-09-27
> 11:54:15.000000000 -0700
> +++ nginx_upload_module-2.2.0.new/ngx_http_upload_module.c 2011-09-23
> 16:03:20.000000000 -0700
> @@ -771,6 +771,13 @@
> ngx_str_t dummy = ngx_string("<ngx_upload_module_dummy>");
> ngx_table_elt_t *h;
> 
> + h = ngx_list_push(&r->headers_out.headers);
> + if (h == NULL) {
> + return NGX_HTTP_INTERNAL_SERVER_ERROR;
> + }
> + h->hash = 1;
> + ngx_str_set(&h->key, "Access-Control-Allow-Origin");
> + ngx_str_set(&h->value, "*");
> if(ctx->prevent_output) {
> r->headers_out.status = NGX_HTTP_CREATED;
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.