/ Zope / Apsis / Pound Mailing List / Archive / 2003 / 2003-12 / Zope ZMI: 302 not working

[ << ] [ >> ]

[ pound 1.6 on freebsd: shutdown / Pavel Merdine ... ] [ Redirect rewrite feature / Pavel Merdine ... ]

Zope ZMI: 302 not working
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 11:51:59 [ FULL ]
Hi all,

I made my first tries with pound, and strangly struggled when trying to 
use the Zope Manangement Interface via a pound proxy: Some parts never 
show up.

According to the log of Zope, when accession /mange_workspace, a 302 is 
sent back. With the help of ethereal, the redirect looks like this:


GET /manage_workspace HTTP/1.1
Host: 192.168.0.98:80
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) 
Gecko/20031117 Firebird/0.7+
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://192.168.0.98/manage
Cookie: dtpref_rows="20"; _ZopeId="47695742A1GagGHAiTs"; 
_GallileusId="97232091A1GVzDcFHXc"; 
tree-s="eJzTiFZ3hANXW/VYHU0ALj4EkA"; zmi_top_frame=""; zmi_use_css="1"; 
dtpref_cols="100%"
Authorization: Basic c2FzY2hhOmdhbGxpeA==
X-Forwarded-For: 192.168.0.98

HTTP/1.1 302 Moved Temporarily
Server: Zope/(unreleased version, python 2.2.3, linux2) ZServer/1.1b1
Date: Wed, 10 Dec 2003 09:43:58 GMT
Bobo-Exception-Line: 79
Content-Length: 0
Etag: 
Bobo-Exception-Value: See the server error log for details
Location: http://192.168.0.98/manage_main
Bobo-Exception-Type: Redirect
Bobo-Exception-File: Management.py


Obivously, /manage_main should be fetched instead. But that never seems 
to happen. Strange enough, if I type http://192.168.0.98/manage_main 
directly into the browser, everything works fine.

In case anyone wants to see it, my (rather simple) config follows:

ListenHTTP 127.0.0.1,80
ListenHTTP 192.168.0.98,80
User nobody
Group nobody
ExtendedHTTP 1
WebDAV 1
LogLevel 2
#CheckURL 1
Client 1

URLGroup ".*"
HeadRequire User-Agent "google"
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,9
EndGroup

URLGroup ".*"
Session BASIC 2000
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,1
EndGroup

URLGroup ".*"
Session COOKIE _ZopeId 2000
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,1
EndGroup

URLGroup ".*"
Session COOKIE _GallileusId 2000
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,1
EndGroup

URLGroup ".*"
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,1
EndGroup


I experimented with Client, ExtendedHTTP, CheckURL and WebDAV, just in 
case, but as I suspected: no differences.


Anyone any idea what's going wrong here?


Thanks,

Sascha


P.S.: BTW, I just noticed a similar problem with a form, it seems as if 
it is sent to the backend-server directly, rather than through the 
proxy. The form is processed, but the result never returns to the 
browser. Maybe there is a connection to the above problem?

Re: Zope ZMI: 302 not working
Robert Segall <roseg(at)apsis.ch>
2003-12-10 13:04:36 [ FULL ]
Two remarks:

1. your config file can never work. All requests will go to the second group, 
and the others will never be used (hint: there is no reason for a request to 
NOT be accepted).

2. what does your ethereal trace say about what happens on the wire? How does 
the browser react to the redirect - what it receives, what it does 
afterwards? Use it to track the data between the browser and Pound, in 
addition to Pound - back-end.

Let us have the traces and we'll take it from there.[...]

Re: Zope ZMI: 302 not working
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 13:51:49 [ FULL ]
Am Mittwoch, 10. Dezember 2003 13:04 schrieben Sie:[...]

hmm, so what do I do if I have three different SESSION schemes? 
Unfortunatley, they cannot be distinguished by URL...
[...]

Thats the point: as far as I understand the trace, the last thing that 
happens is the 302 response the Zope backend sends out; after that 
there is almost silence. It goes like this:

browser wants /manage_workspace
192.168.0.98:38667 -> 192.168.0.98:80

proxy wants /manage_workspace from backend
192.168.0.98:38668 -> 192.168.0.98:8080

backend says 302 moved temporarily
192.168.0.98:8080 -> 192.168.0.98:38668

after that, I see ACK
192.168.0.98:38668 -> 192.168.0.98:8080

a FIN,ACK
192.168.0.98:38667 -> 192.168.0.98:80

and a ACK
192.168.0.98:80 -> 192.168.0.98:38667


Thanks, Sascha
[...]

Re: Zope ZMI: 302 not working
Robert Segall <roseg(at)apsis.ch>
2003-12-10 14:37:30 [ FULL ]
On Wednesday 10 December 2003 13:51, Sascha Ottolski wrote:[...]

If they can't be distinguished by URL (which, at least in the case of the URL 
param you can), then by some header. At worst you can require the Cookie 
Header.
[...]

What does Pound reply to the client here? The 302 should go back to the 
client. Check your Pound log - it should show the 302 as well...
[...]

This is TCP stuff, not HTTP.[...]

Re: Zope ZMI: 302 not working
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 15:27:03 [ FULL ]
Am Mittwoch, 10. Dezember 2003 14:37 schrieben Sie:[...]
nothing, as far as ethereal tells me.
[...]

no log entry, either :-( and the browser keeps waiting forever.
[...]

I now, but thats all I have. No more HTTP after 302. Strange thing by 
the way: I have other pages with redirects that work ok, but this 
special one constantly fails, as wells as a form, where the processing 
end with a redirect. I'd be glad for any hint how to debug further. May 
be I should try older versions of pound? I test with current, and gave 
1.6 a try, with no difference in that matter.


Cheers, Sascha
[...]

Re: Zope ZMI: 302 not working
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 15:56:08 [ FULL ]
Am Mittwoch, 10. Dezember 2003 15:27 schrieb Sascha Ottolski:[...]

okay, after the post from Joachim I tried 1.5, et voila: This time it 
works out!

Cheers, Sascha
[...]

MailBoxer