masterzen / nginx-upload-progress-module

Nginx module implementing an upload progress system, that monitors RFC1867 POST uploads as they are transmitted to upstream servers.

Home Page:http://wiki.codemongers.com/NginxHttpUploadProgressModule

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Filesize Issue (ref. nginx mailing list)

MSc79 opened this issue · comments

Referring to the nginx mailing list post at http://forum.nginx.org/read.php?2,53197

We use the upload-progress-module v0.8 and nginx v0.7.64 (compiled with --with-debug and SSL Support, Upload is via normal http though)

The Request to the UploadTracker is triggered exactly like in the example in the README (onsubmit="openprogressbar();" etc. We basically copied the script from the README and adjusted the part where the form is updated with the correct action (in our case: document.getElementById("upload").action="ftp_upload?X-Progress-ID=" + uuid;) Also we adjusted the progress request (req.open("GET", "/upload_progress", 1);)

I will send you two compressed debug logs of two uploads shortly.

Hi,
That's what I thought: your upload is too fast and finishes before your first upload progress probe hits nginx:
Upload start:
2010/02/15 15:31:25 [debug] 10253#0: *1 http request line: "POST /customer/files/ftp_upload?X-Progress-ID=5707e98c445839f0613b9e32cad597d5 HTTP/1.1"

Upload finishes at:
2010/02/15 15:31:25 [debug] 10253#0: *1 http upstream request: "/customer/files/ftp_upload?X-Progress-ID=5707e98c445839f0613b9e32cad597d5"

First probe is at:
2010/02/15 15:31:26 [debug] 10253#0: *3 http request line: "GET /upload_progress HTTP/1.1"

As you can see, it is before the probe.
If you want to check that it indeed works:

  • upload something larger
  • throttle your upload
  • send more frequent probes

About the probes, I suggest instead of using the code I ship with the code, to use one of the javascript library (I'm no JS dev):
http://github.com/drogus/prototype-upload-progress
or
http://github.com/drogus/jquery-upload-progress