SWFUpload prematurely closes the connection at boot (nginx 499)

I use swfupload to upload files to nginx. It works great for me and 99% of our users. However, for several users, this happens somehow at boot time. It opens the connection, but seems to close it before completion - nginx reports status 499 in its access log, which is NGX_HTTP_CLIENT_CLOSED_REQUEST.

I managed to get one of these users to get more information. They run Flash 10.0.42, on XP with Firefox 3.5.7.

Has anyone seen anything like this? Any suggestions for fixing it / how can I investigate further?

-Jonathan

+4
source share
3 answers

In case nothing concrete appears here, here is a list of things that I would ask users for whom it does not work.

  • What kind of internet connection do you have? Are you behind a firewall (company)?

  • What file did you try to download (file type and size)? What media was the file stored on? (To exclude read errors when booting from a CD, for example)

  • OS version, browser version, Flash version, personal firewall and / or antivirus software installed (for checking patterns)

  • Did she work in a second attempt?

+1
source

Error 499 occurs when:

  • The user successfully sends all the data (including uploading files) to the server
  • The user cancels the request before receiving a response (that is, by updating the page, all current requests will be canceled)
  • The server (nginx) receives the request and successfully processes it (saves the downloaded file). The reinforcing server returns a 200 response.
  • Nginx receives a response from the underscore of the server, but when it wants to send a response to the client (for a POST request), the client closed the connection and left! Therefore, the server cannot transmit the response to the client.

Thus, error 499 is a successful download from the point of view of the server! But becaue client did not receive any response. Nginx marks it as error 499.

+1
source

Several possibilities

  • The user refreshed the page before the download completed.

  • Turn off a custom internet connection or hiccups at boot time.

  • If you are using PHP (im guessing), check the following settings in php.ini.

max_execution_time

If the script takes too much time, the server will stop it based on this parameter.

max_file_uploads

If the user tries to upload more files than this option, this may be the reason.

upload_max_filesize

If any of the files is larger than this parameter, the file will not be downloaded. This can be processed before it accesses the server on the client side:

Sorry, but without specific information, I can not narrow it further.

If this affects only 1% of your users, this is acceptable, in my opinion;) Personally, I would not waste time fixing the error for 1%, unless the client has it.

0
source

Source: https://habr.com/ru/post/1299094/


All Articles