# IIS + Apache + Mongrel: Problem with big data submit form

**URL:** <https://www.ruby-forum.com/t/iis-apache-mongrel-problem-with-big-data-submit-form/181238>\
**Category:** Deployment\
**Created:** [January 7, 2010, 7:56pm UTC](https://www.ruby-forum.com/t/iis-apache-mongrel-problem-with-big-data-submit-form/181238 "2010-01-07T19:56:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![trungdo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9e5f3/32.png) [@trungdo](https://www.ruby-forum.com/u/trungdo)\
**Post date:** [January 7, 2010, 7:56pm UTC](https://www.ruby-forum.com/t/iis-apache-mongrel-problem-with-big-data-submit-form/181238/1 "2010-01-07T19:56:25Z")

</div>

Hi all,

I deployed a Rails application on a Windows Server 2003 machine as  
follows:

- I created two instances of Mongrel at ports 4001, 4002 to serve the  
application

- I set up an Apache instance at port 8080 for balancing load for the  
two Mongrels =\> So I can access my website at URL [http://mywebsite:8080/](http://mywebsite:8080/)

- I want to allow users access my website without typing port 8080 in  
the URL. However, the server already runs IIS for several other  
web-sites at default port 80. Therefore, I used ISAPI Rewrite to forward  
requests from IIS (at port 80) to the Apache (and therefore towards the  
Mongrels) =\> I can access the website at URL [http://mywebsite/](http://mywebsite/)

(To do these steps, I followed the guide in book Deploying Rails  
Application - Pragmatic Bookshelf)

Everything seems to work fine until I find out the following problem:

In my application, the user register form page allows user to upload  
his/her avatar. But whenever the file size is bigger than ~30KB, the  
browser keeps waiting for response from the server until getting timeout  
error.

This error also occurs in any submitting form with a little big posted  
data.

- Looking at the Apache error log file, I got the following error:

* * *

## [error] proxy: pass request body failed to 127.0.0.1:4001

=\> Apache seems to fail to forward request to Mongrel instance

- Looking at the Mongrel log file, I got the following error:

* * *

## Error reading HTTP body: #\<RuntimeError: Socket read returned insufficient data

=\> Mongrel seems not to receive fully the data whose length specified in  
Content-Length attribute in the request header.

One special thing is that this error just happens when I access the  
web-site via IIS, i.e., [http://mywebsite](http://mywebsite). This does not happen when I  
try directly with Apache at [http://mywebsite:8080](http://mywebsite:8080) or Mongrel at  
[http://mywebsite:4001/(4002)](http://mywebsite:4001/(4002))

So I think there may be something wrong at the point of forwarding  
requests from IIS to Apache using ISAPI Rewrite, maybe related to max  
request length or something. But I totally get stuck at that so far.

Please help if you have any suggestion to solve this problem.

Thank you!

Best regards,

.Viet Trung.
