ПРОЕКТЫ 


  АРХИВ 


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




По-моему 2.2 как раз и является текущей веткой.

27.09.2011 4:20, Roman Vasilyev пишет:
Спасиб оогромое, все проблемы решились.
Может быть эту версию включить в текущий бранч?
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@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



_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.