I was working on my recruiting site on my two hour flight from LA to Seattle. Shortly after we took off, I realized I had a bug on one of my recruiting site pages. On this page, I am displaying a report showing all candidates and their skills test scores via Datatables (Ajax). For some reason the Ajax request to my server was returning a 400 error: Invalid URL. I used the Google Chrome debugger for the next two hours, but couldn’t figure out the issue. It had something to do with my GET url being too long (over 4000 characters). I did spot that instead of my usual nginx server the content was being displayed from something called a “Squid” server. I thought maybe one of my developers had changed my server configuration to have this squid server display the page. I tried making a bunch of updates to my nginx configuration and tried to find where squid was installed on my server, but nothing worked.
This morning, I fired up my laptop to start working on the bug and behold! It worked! What happened?
I believe that GoGoInflight uses a squid server on the plane as a forward proxy to pass information from the internet to users on the plane. The squid server had small default allowances for the header and thus caused me to receive the 400 Bad Request error.
I’d be curious if anyone can confirm my theory?