Many mobile networks will not permit a connection to go idle for that long.
30 seconds I think is a safe number - I believe this is what Verizon uses, and I think they have the shortest timeout.
I would investigate why your server is taking so long to respond. It seems unreasonable.
but this error dose not network acess (delay) reason. It hapend near Nging and Thin -
Nging Log sad (for example):
2014/09/03 11:45:49 [error] 19416#0: *3359 upstream prematurely closed connection while reading response header from upstream, client: 18.104.22.168, server: inkscodes.voz.ru, request: "GET /app/v1/Users?p_size=2000&version=3&token=178973080779412&query[device_id]=b44d9d14f067e7ff1a9b HTTP/1.1", upstream: "http://unix:/tmp/thin.0.sock:/app/v1/Users?p_size=2000&version=3&token=178973080779412&query[device_id]=b44d9d14f067e7ff1a9b", host: "inkscodes.voz.ru:8443"
Thin do some connection to ORACLE DB. Some times this connect have dellay but it is not critical.
Thin Log dose not have any errors. It like Thin miss my ruby handler's (as query data).
This effect not stable and happend some times...
I want to add additional upstream for Thin -
and add wait delay:
what did you think about it?