WebFaction
Community site: login faq

I've personally wasted a week between these two issues, with no end in sight, so hopefully this post will be of at least some use to someone in the future.

For anyone else who may be spending weeks trying to find answers:

..1. Tor - upload timeout issue

If you expect your users to try to access your site using Tor, know that WebFaction will block your uploads (if you or your users upload a file via your website) if the upload lasts longer than 12-17 seconds.

Test this yourself by running a Tor-enabled browser, and uploading a file. Monitor the length of time of the upload and witness the upload failure. Then try the same upload with Tor disabled, and watch it work without any problem.

At time of writing (02-08-2019), there is apparently no known fix for the problem. The only answer is to tell your users to whitelist your site, thereby disabling Tor for your website. Of course this is problematic since many users rely on Tor in oppressive countries or to reduce their online footprint, but there seems to be no viable answer.

..2. Nginx - upload progress monitoring issue

As you'll see in this topic from 2013, apparently nginx prevents file upload progress monitoring via chunked file uploads:

I made a research and discovered this on NGINX website: "Note that when using the HTTP Proxy Module (or even when using FastCGI), the entire client request will be buffered in nginx before being passed on to the backend proxied servers. As a result, upload progress meters will not function correctly if they work by measuring the data received by the backend servers."

There is a workaround that involves disabling nginx for a particular port:

Yes, if you need a direct open port for your application we can open a port in the firewall on a secondary shared IP address. However, your client-side code will need to communicate (probably in javascript) to the open port. This will eliminate Nginx entirely and may be what you need- just open a support ticket if having an open port will help.

This workaround, however, will also disable SSL.

There is apparently another option, called "gp.fileupload":

http://pypi.python.org/pypi/gp.fileupload/

Unfortunately, the documentation on the "gp.fileupload" site is dreadful, and there are few (if any) working examples to learn from online.

If anyone has examples -- particularly regarding the "File Upload middleware" (gp.fileupload.FileUpload) -- that could save anyone struggling with this issue a lot of time.

Thanks in advance if you have any working code snippets that could function as a guide (i.e. not copy/pasted from the dreadful "gp.fileupload" website).


asked 09 Feb, 01:41

altsocial
11114
accept rate: 0%

edited 09 Feb, 01:46


We are happy to continue to work with you in the support tickets you have opened for these cases. The community may also have some answers.

permanent link

answered 09 Feb, 22:50

johns
5.4k312
accept rate: 23%

WebFaction Support has been singularly unhelpful and has thus far wasted a week of my time.

permanent link

answered 09 Feb, 22:59

altsocial
11114
accept rate: 0%

edited 09 Feb, 23:00

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×186
×22
×5
×2
×1

question asked: 09 Feb, 01:41

question was seen: 15,051 times

last updated: 09 Feb, 23:00

WEBFACTION
REACH US
SUPPORT
AFFILIATE PROGRAM
LEGAL
© COPYRIGHT 2003-2019 SWARMA LIMITED - WEBFACTION IS A SERVICE OF SWARMA LIMITED
REGISTERED IN ENGLAND AND WALES 5729350 - VAT REGISTRATION NUMBER 877397162
5TH FLOOR, THE OLD VINYL FACTORY, HAYES, UB3 1HA, UNITED KINGDOM