My nginx.conf:
location ~ ^/api/(.*)$ {
alias /home/username/apidav/$remote_user/$1;
client_body_temp_path /var/www/path/;
client_max_body_size 50m;
dav_methods PUT DELETE MKCOL;# COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:r;
dav_ext_methods PROPFIND OPTIONS;
auth_request /api_auth;
}
location /api_auth {
internal;
proxy_pass http://www.domain.ru/accounts/api_auth/;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
curl -T test.txt 'http://gert:[email protected]/api/' curl: (56) Recv failure: Connection reset by peer?
Why?
tail -f /var/log/nginx/error.log
2012/11/16 17:53:42 [alert] 30060#0: worker process 8374 exited on signal 11
Tail debug log, after auth request:
2012/11/16 07:00:33 [debug] 8241#0: *1892 send 100 Continue
2012/11/16 07:00:33 [debug] 8241#0: *1892 send: fd:458 25 of 25
2012/11/16 07:00:33 [debug] 8241#0: *1892 http read client request body
2012/11/16 07:00:33 [debug] 8241#0: *1892 recv: fd:458 -1 of 91
2012/11/16 07:00:33 [debug] 8241#0: *1892 recv() not ready (11: Resource temporarily
unavailable)
2012/11/16 07:00:33 [debug] 8241#0: *1892 http client request body recv -2
2012/11/16 07:00:33 [debug] 8241#0: *1892 http client request body rest 91
2012/11/16 07:00:33 [debug] 8241#0: *1892 event timer add: 458: 60000:1353027693786
2012/11/16 07:00:33 [debug] 8241#0: *1892 http finalize request: -4, "/api/test.txt?" a:1, c:2
2012/11/16 07:00:33 [debug] 8241#0: *1892 http request count:2 blk:0
2012/11/16 07:00:33 [debug] 8241#0: *1894 post event 0000000001789C58
2012/11/16 07:00:33 [debug] 8241#0: *1894 post event 000000000179D468
2012/11/16 07:00:33 [debug] 8241#0: *1894 delete posted event 000000000179D468
2012/11/16 07:00:33 [debug] 8241#0: *1894 http empty handler
2012/11/16 07:00:33 [debug] 8241#0: *1894 delete posted event 0000000001789C58
2012/11/16 07:00:33 [debug] 8241#0: *1894 http lingering close handler
2012/11/16 07:00:33 [debug] 8241#0: *1894 recv: fd:461 0 of 4096
2012/11/16 07:00:33 [debug] 8241#0: *1894 lingering read: 0
2012/11/16 07:00:33 [debug] 8241#0: *1894 http request count:1 blk:0
2012/11/16 07:00:33 [debug] 8241#0: *1894 http close request
2012/11/16 07:00:33 [debug] 8241#0: *1894 http log handler
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 0000000000000000
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 00000000016DE8A0, unused: 1
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 0000000001605050, unused: 327
2012/11/16 07:00:33 [debug] 8241#0: *1894 close http connection: 461
2012/11/16 07:00:33 [debug] 8241#0: *1894 event timer del: 461: 1353027638785
2012/11/16 07:00:33 [debug] 8241#0: *1894 reusable connection: 0
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 00000000016610F0
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 00000000015BFAA0
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 00000000015F0050, unused: 8
2012/11/16 07:00:33 [debug] 8241#0: *1894 free: 000000000163E980, unused: 112
2012/11/16 07:00:33 [debug] 8241#0: *1892 post event 0000000001789B88
2012/11/16 07:00:33 [debug] 8241#0: *1892 post event 000000000179D398
2012/11/16 07:00:33 [debug] 8241#0: *1892 delete posted event 000000000179D398
2012/11/16 07:00:33 [debug] 8241#0: *1892 http run request: "/api/test.txt?"
2012/11/16 07:00:33 [debug] 8241#0: *1892 content phase: 19
2012/11/16 07:00:33 [debug] 8241#0: *1892 http script copy: "/home/username/apidav/"
2012/11/16 07:00:33 [debug] 8241#0: *1892 http script var: "gert"
2012/11/16 07:00:33 [debug] 8241#0: *1892 http script copy: "/"
2012/11/16 07:00:33 [debug] 8241#0: *1892 http script capture: "test.txt"
2012/11/16 07:00:33 [debug] 8241#0: *1892 http put filename: "/home/username/apidav/gert/test.txt"
2012/11/16 07:00:33 [debug] 8285#0: epoll add event: fd:9 op:1 ev:00000001
2012/11/16 07:36:55 [debug] 8255#0: epoll add event: fd:9 op:1 ev:00000001
2012/11/16 07:36:55 [debug] 8285#0: epoll del event: fd:9 op:2 ev:00000000
core dump
(gdb) bt
0 ngx_ext_rename_file (src=0x8, to=0x7fffcaa10870, ext=0x7fffcaa10840) at src/core/ngx_file.c:545
1 0x0000000000472864 in ngx_http_dav_put_handler (r=0x1581fe0) at src/http/modules/ngx_http_dav_module.c:261
2 0x0000000000450a55 in ngx_http_read_client_request_body (r=0x1581fe0, post_handler=0x472730 ) at src/http/ngx_http_request_body.c:155
3 0x0000000000473873 in ngx_http_dav_handler (r=0x1581fe0) at src/http/modules/ngx_http_dav_module.c:172
4 0x0000000000443676 in ngx_http_core_content_phase (r=0x1581fe0, ph=0x14e7de0) at src/http/ngx_http_core_module.c:1403
5 0x000000000043e215 in ngx_http_core_run_phases (r=0x1581fe0) at src/http/ngx_http_core_module.c:877
6 0x0000000000448b13 in ngx_http_request_handler (ev=0x161e9f8) at src/http/ngx_http_request.c:1846
7 0x000000000042e308 in ngx_event_process_posted (cycle=0x156be60, posted=0x71edc0) at src/event/ngx_event_posted.c:40
8 0x0000000000434f59 in ngx_worker_process_cycle (cycle=0x156be60, data=) at src/os/unix/ngx_process_cycle.c:806
9 0x00000000004338b5 in ngx_spawn_process (cycle=0x156be60, proc=0x434ea0 , data=0x0, name=0x4d4de8 "worker process", respawn=-4) at src/os/unix/ngx_process.c:198
10 0x00000000004352ca in ngx_start_worker_processes (cycle=0x156be60, n=20, type=-4) at src/os/unix/ngx_process_cycle.c:365
11 0x0000000000435fda in ngx_master_process_cycle (cycle=0x156be60) at src/os/unix/ngx_process_cycle.c:250
12 0x0000000000415efe in main (argc=, argv=) at src/core/nginx.c:410
auth_request
ordav
module.