Since I'm using ELB from AWS, it has a timeout of 60 seconds. I found out that it can be requested to update the timeout to up to 17 minutes, but there is no way to do that directly on manager console.
Source: Elastic Load Balancer: HTTP Connections time out after 60 seconds.