ProxyPass of POST URL's

Topics: Developer Forum, User Forum
Mar 8, 2010 at 10:32 PM

 

http://iirf.codeplex.com/WorkItem/View.aspx?WorkItemId=25249
http://iirf.codeplex.com/Thread/View.aspx?ThreadId=74177

In reference to these discussions:

http://iirf.codeplex.com/WorkItem/View.aspx?WorkItemId=25249
http://iirf.codeplex.com/Thread/View.aspx?ThreadId=74177

It was my understanding that in the recent builds of 2.x ProxyPass of POST URL's is now supported as long as you have 
configured IIRF as an ISAPI extension as well as filter.  I have a 2003 server setup to do ProxyPass on a rails application
form and all is working fine except for the POST.

Cheeso, did anyone confirm for you from the previous threads whether your new releases worked with this feature?
According to the documentation it looks to me like it should, but I may be mistaken.

Also if additional testing needs to be done for this, I could provide a 2003 server.  My setup is like this:

incoming request ------> 2003 Server/IIS6 (IIRF ProxyPass) ----------> Other server port 3000

In the IIS log, I can see the request reaching the ISAPI extension and then getting a 404.

2010-03-08 12:50:26 W3SVC1845053015 WEBSERVER 192.168.0.100 POST /proxy.iirf path=/LM/W3SVC/1845053015/Root&url=http://192.168.0.120:3000/items 80 - 10.10.10.97 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 

I have also confirmed manually that from WEBSERVER I can reach the destination URL successfully using a browser or wget/curl http://192.168.0.120:3000/items

Any information is appreciated and thanks for this extremely useful software.

 

Mar 10, 2010 at 9:38 PM

Me too. every thing works fine, just POST cannot work.

Mar 10, 2010 at 10:12 PM

sorry. My post works now. just add iirf as ISAPI. it will work.

Coordinator
Mar 11, 2010 at 11:30 PM

I'm glad you got it working. 

Coordinator
Mar 24, 2010 at 4:51 PM

Just an update -

  1. I've made some fixes to the ProxyPass feature of IIRF. These are available in the latest update of IIRF v2.1 beta, v2.1.0.15, available at http://iirf.codeplex.com/releases/view/36814. I'd encourage everyone using ProxyPass to get that update. It corrects a problem with passing http headers across the proxy boundary, and also with proxied payloads larger than 48k.
  2. To check if you have correctly configured IIRF as an ISAPI extension, you can use your browser to visit a URL like: http://yourserver/INSERT ANYTHING HERE.iirf . This will cause a diagnostic page to be returned. It looks like this:

    If you don't get that page, then you haven't configured IIRF properly.

Mar 25, 2010 at 2:53 AM

Cheeso,

Thanks for the update.  I installed this version using the MSI installer and still no dice.  Then I uninstalled it and did a manual installation and was able to do ProxyPass on POST URL's.
I haven't had time to do a full investigation to the problems with setting up the ISAPI extension using the MSI yet, but once I do I'll post them back here.  My initial thoughts...

- Installs to path with spaces in it without path being double quoted.
- Path to executable for ISAPI extension / filter included a double backslash before the IIRF.dll ( \\ )
- Effective permission on install from this method must have been missing a required member (either IWAM_HOSTNAME, or NETWORK SERVICE)

Once I have a chance to debug some more, I'll post the results back here.  Also now that the 48K upload limit has been lifted, is there a new max size for ProxyPass of POST?
In summary it did work for me with this version, just not using the defaults from the MSI installer, only when doing a manual install.

Coordinator
Mar 25, 2010 at 1:42 PM

Got it,

thank you.  Thanks for the feedback.  Also what version of the server OS are you using?  I've be very interested to hear other updates from you.

The max size of POST transfers is theoretically unlimited.  

That's true, as long as you don't use chunked encoding.  IIRF v2.1.0.15 doesn't currently handle it. I'm fixing that now...

I will update here with more, soon. 

 

 

Mar 25, 2010 at 1:57 PM

Windows Server 2003
Enterprise Edition

Also FYI primarily at the moment I'm using IIRF to ProxyPass from IIS6 to a JRuby on Rails application running on Glassfish on another server on the same network segment.

 

Coordinator
Mar 25, 2010 at 2:14 PM

Ok, that's helpful.

About the chunked encoding - it is workitem 25703.

Coordinator
Mar 25, 2010 at 4:10 PM

I uploaded v2.1.0.16 with a fix for chunked encoding.

interested to see the results.

 

Apr 16, 2010 at 2:19 AM

What can I do to force a chunked encoding transfer through the IIRF ProxyPass feature to test this out for you?
At this point the previous build of IIRF has been working great for me.

Coordinator
Apr 17, 2010 at 5:13 PM

Glad to hear you are getting some good use from IIRF.

I don't think you can "force" IIRF to use chunked encoding.

If you proxy a request to a server, and that server uses chunked encoding in its response, then IIRF will use chunked encoding.  If you proxy a request to  a server and the server's response does not use chunked encoding, then the response from IIRF to the client will not be chunked.  IIRF doesn't switch Transfer-Encoding.   But, attention: IIRF didn't do this correctly until IIRF v2.1.1.8, which just became available today.