Thanks for your fast reply. I got troubles with small files (50 Ko) on Internet and it may running fine with large file (over 700 Mo) on LAN. The target size is around 5 Mo.
This is not always reproducible. I would like to investigate in this but I don't know where to look at. Should I enable some log ? Should I drop web2py ssl support ? My first attempts were with Cherokee, SSL and uWSGI. But I gave up because during a file upload, the whole application were unreachable :-/ When the transfer ended, the application recovered. On 3 jan, 16:26, mdipierro <[email protected]> wrote: > How big is the file? It is possible that the python ssl module cannot > handle too large files because of a limited buffer (I have see this > with python open-ssl before). > > This should not be a problem if you use apache for ssl. > > On Jan 3, 8:04 am, PhE <[email protected]> wrote: > > > > > > > > > I got strange upload issues on my app. A simple form with an upload > > field fails sometimes to upload the file. It works fine on my LAN but > > fails on the Internet. > > I focused it down to this reproducible scenario : > > > I install a clean web2py with an ssl certificate : > > > cd /var > > wgethttp://www.web2py.com/examples/static/web2py_src.zip > > unzip web2py_src.zip > > cd /var/web2py/ > > dd if=/dev/random of=rand.dat bs=1024 count=1 > > openssl genrsa -out cakey.key -rand rand.dat 2048 > > openssl req -new -key cakey.key -out cakey.csr -subj > > '/C=FR/L=Paris/CN=test25656263.test.fr' > > openssl x509 -req -days 1780 -set_serial 1 -in cakey.csr -signkey > > cakey.key -out cakey.pem > > rm -f rand.dat > > > I start web2py in SSL mode : > > python web2py.py -i 0.0.0.0 -p 443 -c cakey.pem -k cakey.key > > > With the admin interface, I create my test app : > > New simple application > > Application name: testupload1 > > > Modify db.py and add : > > db.define_table('mytable', > > Field('myfield', 'upload'), > > ) > > > Go to database administration : [ insert new mytable ] > > select a small file (50 kb) then submit > > > Then I got : > > -> "Internal error" Ticket issued ... > > testupload1/81.56.220.102.2011-01-03.11-26-20.6a65f307-5eb2-4fde-915d- > > d63516bc574a > > -> Bad Request > > > Traceback (most recent call last): > > File "/var/web2py/gluon/main.py", line 403, in wsgibase > > parse_get_post_vars(request, environ) > > File "/var/web2py/gluon/main.py", line 254, in parse_get_post_vars > > request.body = copystream_progress(request) ### stores request body > > File "/var/web2py/gluon/main.py", line 127, in copystream_progress > > copystream(source, dest, size, chunk_size) > > File "/var/web2py/gluon/fileutils.py", line 329, in copystream > > data = src.read(size) > > File "/usr/lib/python2.6/socket.py", line 377, in read > > data = self._sock.recv(left) > > File "/usr/lib/python2.6/ssl.py", line 215, in recv > > return self.read(buflen) > > File "/usr/lib/python2.6/ssl.py", line 136, in read > > return self._sslobj.read(len) > > SSLError: The read operation timed out > > > Server conf : Ubuntu 10.10 64 bits with latest web2py > > Client conf : Firefox 3.6.13 on Ubuntu 10.10 32 bits > > > Help would be appreciated.

