Windows Server 2003, II6 and ASP404 vs form posts
Anyone out there using Zope inside IIS 6 on Server 2003 via the ASP404 technique? I've done this successfully on Windows 200 and XP, but on Server 2003, IIS does not seem to be passing the post data to the error handler. When Win2003 was young, there was some list traffic on a similar problem, and Brian Sullivan figured out that IIS was reporting a REQUEST_METHOD of "GET" even for POST requests. However, the POST data was still passing, so it was possible to check Request.totalBytes (this is the ASP Request, not Zope's) to determine the real nature of the request. Now, though, many an IIS patch later, IIS is invoking the error handler with http content length set to zero (even though it reports that content type is www-urlencoded). So, form submissions do nothing. And, if there's nothing to be done about this, does anyone know if the Fresh Logic or Enfold ISAPI solutions have any way to intermix serving of IIS and Zope content? If I didn't have to do that, I'd be using Apache, and be done by now ;) . Thanks!
Steve McMahon wrote:
Anyone out there using Zope inside IIS 6 on Server 2003 via the ASP404 technique?
Probably not. Just put Apache in front of IIS and have it do the rewriting. You'll likely protect your poor little IIS server a lot in the process ;-) cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
For anyone else who might search the list in the future: Microsoft has confirmed that ASP error handlers in current versions of IIS 6 do not, can not, and will not -- no matter what the security settings -- get at POST data. There's a discussion of the changes at: http://blogs.msdn.com/david.wang/archive/2005/11/29/Child_URL_Execution_and_... The author confirmed that the changes also affect custom error handlers. So, the days of serving Zope pages on IIS via the 404handler.asp approach are pretty much over. Steve McMahon wrote:
Anyone out there using Zope inside IIS 6 on Server 2003 via the ASP404 technique?
I've done this successfully on Windows 200 and XP, but on Server 2003, IIS does not seem to be passing the post data to the error handler.
When Win2003 was young, there was some list traffic on a similar problem, and Brian Sullivan figured out that IIS was reporting a REQUEST_METHOD of "GET" even for POST requests. However, the POST data was still passing, so it was possible to check Request.totalBytes (this is the ASP Request, not Zope's) to determine the real nature of the request.
Now, though, many an IIS patch later, IIS is invoking the error handler with http content length set to zero (even though it reports that content type is www-urlencoded). So, form submissions do nothing.
And, if there's nothing to be done about this, does anyone know if the Fresh Logic or Enfold ISAPI solutions have any way to intermix serving of IIS and Zope content? If I didn't have to do that, I'd be using Apache, and be done by now ;) .
Thanks!
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
For anyone else who might search the list in the future:
Microsoft has confirmed that ASP error handlers in current versions of IIS 6 do not, can not, and will not -- no matter what the security settings -- get at POST data. There's a discussion of the changes at:
I think that is not 100% true-- I am not sure where the difference lies -- but as we discussed I am using ASP404 on Windows 2003 (at http://www.coursesbywire.com) with form Posting functioning. The only issue (that I ran up against and had to solve) is that the method used in ASP404 to determine whether the original request was a POST or a GET no longer works on Win2003 (as it did on Win2000) -- it is necessary to introduce a kludge in the ASP code.
http://blogs.msdn.com/david.wang/archive/2005/11/29/Child_URL_Execution_and_...
The author confirmed that the changes also affect custom error handlers.
So, the days of serving Zope pages on IIS via the 404handler.asp approach are pretty much over.
Not quite -- but maybe numbered. I agree though that starting out now using it when it was not previously in use might be a bad plan. I am not totally sure what is causing your problem but on my (fully patched Win2003)server the Post data is available. I had a look at Enfold's Proxy when I this issue first came up for me but found that it did not solve my problem (though it could be that I just didn't understand something about it). In my case putting Apache in front did not seem a reasonable solution either as I am running IIS on the box and needed it to stay.
participants (3)
-
Brian Sullivan -
Chris Withers -
Steve McMahon