Post does not work

Topics: User Forum
Jan 21, 2010 at 4:25 PM



I have installed IIRF version But it seems that POST does't work.

I use IIRF as a reverse proxy with the proxypass statement. I see in my apache log that the traffic is arriving and I see it is working (I get the login screen of my application)

But I am not able to get past the login screen. When I access my application directly I see that there is a POST in the log file of apache that I don't see when using IIRF. So I think that the post is not working.

I checked and redo the installation several times. Specially the installation of the ISAPI filter (Step 5 and futher). I also made sure that the rights a correct (I even gave much more rights to test). But still after the POST does'n get through. I checked the eventviewer but no messages there.

How can I check where things go wrong? That the ISAPI filter is used?



Jan 28, 2010 at 4:26 AM

I'm seeing the same thing. Here is my iirf.ini:


RewriteCond %{REMOTE_USER} citrite\\(.+) [I]
RewriteHeader CITRITE_USERNAME ^$ *1
ProxyPass ^/(.*)$ http://localhost:8280/VirtualHostBase/http/%{SERVER_NAME}:80/cto/VirtualHostRoot/$1

RewriteCond %{REMOTE_USER} domain\\(.+) [I]

RewriteHeader CUSTOM_HEADER ^$ *1

ProxyPass ^/(.*)$ http://localhost:8080/VirtualHostBase/http/%{SERVER_NAME}:80/Plone/VirtualHostRoot/$1

This is working fine for all GET requests, but failing for POST requests. Clicking the button to bring up the "add a comment page" results in an HTTP 404 error, and when pressing return on that exact same URL the page loads fine, and then trying to click the button to actually save a comment you get another 404. I've looked in the iirf logs:
Thu Jan 28 14:45:20 -  2136 - DoRewrites: Proxy to: 'http://localhost:8080/VirtualHostBase/http/syddmichaelb92:80/Plone/VirtualHostRoot/content/topics/2010-01/HTML5/html5/discussion_reply_form'
Thu Jan 28 14:45:20 -  2136 - GetServerVariable_AutoFree: getting 'REQUEST_METHOD'
Thu Jan 28 14:45:20 -  2136 - GetServerVariable_AutoFree: 5 bytes
Thu Jan 28 14:45:20 -  2136 - GetServerVariable_AutoFree: result 'POST'
Thu Jan 28 14:45:20 -  2136 - ProxyRequest: http://localhost:8080/VirtualHostBase/http/syddmichaelb92:80/Plone/VirtualHostRoot/content/topics/2010-01/HTML5/html5/discussion_reply_form
Thu Jan 28 14:45:20 -  2136 - DoRewrites: requires rewrite to: '/proxy.iirf?path=/LM/W3SVC/1/ROOT&url=http://localhost:8080/VirtualHostBase/http/syddmichaelb92:80/Plone/VirtualHostRoot/content/topics/2010-01/HTML5/html5/discussion_reply_form'
Thu Jan 28 14:45:20 -  2136 - HttpFilterProc: SF_NOTIFY_URL_MAP
Thu Jan 28 14:45:20 -  2136 - HttpFilterProc: cfg= 0x012940F0
Thu Jan 28 14:45:20 -  2136 - HttpFilterProc: SF_NOTIFY_URL_MAP
Thu Jan 28 14:45:20 -  2136 - HttpFilterProc: cfg= 0x012940F0
Thu Jan 28 14:45:20 -  2136 - HttpFilterProc: SF_NOTIFY_LOG
Thu Jan 28 14:45:20 -  2136 - ReleaseOrExpireVdirConfig: vdir '/LM/W3SVC/1/ROOT' (era=0) (rc=2) (Expired=0) (ptr=0x012940F0)...
When you do the GET request for the same URL, the logs show a GET request and it goes on to do all the proxy work. Any ideas what might be failing here? Yes, I've just gone and checked the installation instructions to confirm that the iirf dll is also installed as an extension as well as a filter, and it is correctly setup for both.


Mar 10, 2010 at 10:50 PM

you should add IIRF as ISAPI

Mar 24, 2010 at 5:55 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 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.

    Be careful about the version numbers. The current "stable" release is v2.0.1.15, the latest beta is v2.1.0.15. The release I mentioned here, with the fixes for ProxyPass, is v2.1.0.15 (latest beta).

  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.