fix upstream client disconnect handling

When upstream client disconnects, kill any waiting connections. This is
needed to inform the browser that the upstream connection is no longer
available and to close the socket so a new one will be created for new
requests.