A little while ago I had a look at a beta of the new Gallery 3.0 software. It looked really good. When I noticed that a release candidate was available, it was time to install it and start using it.
It worked really well until it came time to upload images. The slick flash based upload device would return a 417 error. It was still possible to add photos using the “server add” function, but that just makes things more fiddly.
A number of occasions were wasted Googling this problem. Everything pointing to the version of Flash that was installed. Now as I am using Ubuntu in a fairly standard configuration, it seemed strange that the internet was not flooded with other people suffering similar issues.
Finally, one day at work, using a similar Ubuntu set up to the one I use at home, it appeared that the flash upload widget worked fine. This ruled out the version of flash, and the browser. Fuelled by the possibility of success, more Googling followed. Still, the amount of information was limited, and more often pointed to some Microsoft .net applications and such. Not much help.
One post did mention that they had eliminated the problem by putting a clever Squid proxy server in front of their server. This looked like a possible solution for me, and as I already had squid installed as a proxy for my home network…. Hang on a minute! The only difference between connecting to my server from home and from work is that the home network goes through a Squid proxy!
I logged onto my machine running squid, opened up
/etc/squid/squid.conf and did a quick search for ‘expect’. This is what was found:
# TAG: ignore_expect_100 on|off
# This option makes Squid ignore any Expect: 100-continue header present
# in the request.
# Note: Enabling this is a HTTP protocol violation, but some client may
# not handle it well..
# ignore_expect_100 off
In conclusion, setting
ignore_expect_100 on in my squid.conf file has fixed the funky Flash upload widget on my Gallery 3.0 installation.