Hello,
We've hit a problem here with haproxy->mongrels pool configuration. One of really many calls to a rails action which returns pretty standard 302 redirect is being converted to a 502 response. It works for many different urls and fails on one particular URL.
Rails ver: 2.0.2
Mongrel version: 1.1.5
HA-Proxy version 1.3.15.4 2008/09/14
Copyright 2000-2008 Willy Tarreau <w#1wt.eu>
Build options :
TARGET = linux26 CPU = generic CC = gcc CFLAGS = -O2 -g OPTIONS = USE_PCRE=1
Haproxy config:
global
log 127.0.0.1 daemon debug
ulimit-n 32768
pidfile /var/run/haproxy.pid
maxconn 8000
uid apache
gid apache
daemon
defaults
log global
mode http
option httplog
option abortonclose
retries 5
maxconn 8000
contimeout 3000000
clitimeout 1500000
srvtimeout 3000000
redispatch
mode http
balance roundrobin
listen loops.scribd.com 127.0.0.1:8080
server mongrel00 127.0.0.1:8000 maxconn 1 check server mongrel01 127.0.0.1:8001 maxconn 1 check server mongrel02 127.0.0.1:8002 maxconn 1 check server mongrel03 127.0.0.1:8003 maxconn 1 check
Direct request to the rails action:
root@loops:/opt/haproxy# curl http://127.0.0.1:8000/word/document_url/6417541 -v
* About to connect() to 127.0.0.1 port 8000 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8000 (#0) > GET /word/document_url/6417541 HTTP/1.1 > User-Agent: curl/7.16.4 (i486-pc-linux-gnu) libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3.3 libidn/1.0 > Host: 127.0.0.1:8000
Haproxy request:
root@loops:/opt/haproxy# curl http://127.0.0.1:8080/word/document_url/6417541 -v
* About to connect() to 127.0.0.1 port 8080 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0) > GET /word/document_url/6417541 HTTP/1.1 > User-Agent: curl/7.16.4 (i486-pc-linux-gnu) libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3.3 libidn/1.0 > Host: 127.0.0.1:8080
Debug output from haproxy:
00000002:scribd.com.accept(0007)=0008 from [127.0.0.1:35163] 00000002:scribd.com.clireq[0008:ffff]: GET /word/document_url/6417541 HTTP/1.1 00000002:scribd.com.clihdr[0008:ffff]: User-Agent: curl/7.16.4(i486-pc-linux-gnu) libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3.3 libidn/1.0
00000002:scribd.com.clihdr[0008:ffff]: Host: 127.0.0.1:8080 00000002:scribd.com.clihdr[0008:ffff]: Accept: */* 00000002:scribd.com.srvrep[0008:0009]: HTTP/1.1 302 Moved Temporarily 00000002:scribd.com.srvhdr[0008:0009]: Connection: close 00000002:scribd.com.srvhdr[0008:0009]: Date: Tue, 07 Oct 2008 03:52:01 GMT 00000002:scribd.com.srvhdr[0008:0009]: Set-Cookie:_scribd_session=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7AA%253D%253D--f04a5432060febfe36092a7e2b74525af0d4a01b; domain=.scribd.com; path=/; expires=Sun, 01 Jan 2017 06:00:00 GMT
00000002:scribd.com.srvhdr[0008:0009]: Status: 302 Found 00000002:scribd.com.srvcls[0008:0009] 00000002:scribd.com.srvcls[0008:0009] 00000002:scribd.com.srvcls[0008:0009] 00000002:scribd.com.clicls[0008:0009] 00000002:scribd.com.srvcls[0008:0009] 00000002:scribd.com.closed[0008:0009]
Please advise on possible solutions/workarounds/etc.
Thanks in advance.
-- Alexey Kovyrin http://kovyrin.info/Received on 2008/10/07 05:53
This archive was generated by hypermail 2.2.0 : 2008/10/07 06:00 CEST