Unicorn and HAProxy, 500 Internal errors after checks

Eric Wong normalperson at yhbt.net
Mon Dec 6 13:39:24 EST 2010


russell muetzelfeldt <russm-rubyforge at slofith.org> wrote:
> On 05/12/2010, at 10:38 AM, Eric Wong wrote:
> > Pierre <oct at fotopedia.com> wrote:
> >> On Thu, Dec 2, 2010 at 6:39 PM, Eric Wong <normalperson at yhbt.net> wrote:
> >>> Pierre <oct at fotopedia.com> wrote:
> >>>> Connecting endpoint:
> >>>> 
> >>>> [08:22][virtual] root at infrabox:~# telnet localhost 2002
> >>>> Trying 127.0.0.1...
> >>>> Connected to infrabox.virtual.ftnz.net.
> >>>> Escape character is '^]'.
> >>>> ^]
> >>>> telnet> quit
> >>>> Connection closed.
> >>> 
> >>> Hi, you started writing an HTTP message ("quit" can be a valid HTTP
> >>> method name) and disconnected; don't do that.
> >> 
> >> No, quit is typed in the telnet console and not in the network stream.
> > 
> > Are you sure?  With my telnet, "quit" definitely goes out to the server
> > since you're already connected.

> he connects, then sends an escape ("^]") to the telnet process, then
> types "quit" at the prompt the telnet process shows to tell the local
> telnet process to close the connection.

Ah, I missed the "^]" :x

> the connection *might* see some traffic in attempted telnet option
> negotiation (unless the server end initiates that - I forget), but the
> "quit" string isn't transmitted to the remote end.

Due to TCP_DEFER_ACCEPT, older Linux kernels won't even wake up Unicorn.
Newer ones treat the TCP_DEFER_ARGUMENT as a timeout but it's just a
quick EOFError.

-- 
Eric Wong


More information about the mongrel-unicorn mailing list