small issue about Nginx upload module

Roman Vasilyev roman.vasilyev на yousendit.com
Вт Сен 27 00:20:29 UTC 2011


Спасиб оогромое, все проблемы решились.
Может быть эту версию включить в текущий бранч?
On 09/23/2011 09:24 PM, Дмитрий Дедюхин wrote:
> Добрый день.
>
> Модуль Валерия слишком полезен, поэтому все уже сделано давным давно.
> Смотрите здесь https://github.com/vkholodkov/nginx-upload-module/commits/2.2 коммиты от 14 декабря 2010 года и диррективу upload_add_header, предназначенную именно для этих целей.
>
> 24 сентября 2011, 03:23 от Roman Vasilyev<roman.vasilyev на yousendit.com>:
>    
>> Наткнулся на достаточно неприятное поведение модуля.
>>
>> При 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 на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>      
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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