REST, Ajax, IE, Apache Proxy issue

I’m having a proxy issue with Apache 2.2 when using IE on a Ajax REST
link.

When I try:

link_to_remote(“my_link”, :url => {my_candidates_path(@candidate)},
{:method => :delete})

it works fine in FF, Opera and even IE when running locally through
WEBrick. When I deploy to a server that is running a MongrelCluster with
Apache 2.2 balancing traffic FF and Opera still work fine but with IE I
get:

Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request delete /my_candidates/2.

Reason: Error reading from remote server

So I searched around, and found that Apache 2.2 does infact have a bug
that seems related: Bug #37770 -
http://issues.apache.org/bugzilla/show_bug.cgi?id=37770

I followed the instructions… no luck. So I setup my VirtualHost to
pump out a Debug Level Log:

[Wed Mar 21 14:41:38 2007] [debug] mod_proxy_balancer.c(41): proxy:
BALANCER: canonicalising URL //semi_cluster/my_candidates/2
[Wed Mar 21 14:41:38 2007] [debug] mod_proxy_balancer.c(803): proxy:
Entering byrequests for BALANCER (balancer://semi_cluster)
[Wed Mar 21 14:41:38 2007] [debug] mod_proxy_balancer.c(396): proxy:
BALANCER (balancer://semi_cluster) worker (http://127.0.0.1:9001)
rewritten to http://127.0.0.1:9001/my_candidates/2
[Wed Mar 21 14:41:38 2007] [debug] mod_proxy.c(736): Running scheme
balancer handler (attempt 0)
[Wed Mar 21 14:41:38 2007] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://127.0.0.1:9001/my_candidates/2
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(1754): proxy: HTTP: has
acquired connection for (127.0.0.1)
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(1811): proxy: connecting
http://127.0.0.1:9001/my_candidates/2 to 127.0.0.1:9001
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(1911): proxy: connected
/my_candidates/2 to 127.0.0.1:9001
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(2005): proxy: HTTP: fam
2 socket created to connect to 127.0.0.1
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 127.0.0.1:9001 (127.0.0.1)
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(1769): proxy: (null):
has released connection for (127.0.0.1)
[Wed Mar 21 14:41:38 2007] [error] [client 67.107.99.131] proxy: error
reading status line from remote server (null), referer:
http://www.semiconductorlink.com/my_candidates
[Wed Mar 21 14:41:38 2007] [error] [client 67.107.99.131] proxy: Error
reading from remote server returned by /my_candidates/2, referer:
http://www.semiconductorlink.com/my_candidates
[Wed Mar 21 14:41:38 2007] [debug] proxy_util.c(1769): proxy: HTTP: has
released connection for (127.0.0.1)
[Wed Mar 21 14:41:38 2007] [debug] mod_proxy_balancer.c(424):
proxy_balancer_post_request for (balancer://semi_cluster)

The two errors seem to be:

  • error reading status line from remote server (null)
  • Error reading from remote server returned by /my candidates/2

I’ve searched around and have seen similar posts about this issue, but
have yet to find an answer. The server response is immediate so I don’t
think it is a TimeOut issue. The problem obviously lies with IE and how
it is sending an Ajax REST request. Is there any configuration changes
that can be done to Apache to correct this issue?