durusmail: quixote-users: SCGI + Quixote, Location / ?
SCGI + Quixote, Location / ?
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-12
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
RELEASED: scgi-1.6
2005-08-11
2005-08-11
SCGI + Quixote, Location / ?
mso@oz.net
2005-08-11
OK, SCGIMount in scgi-1.6 works fine for me.  It ignores script_name so
you can set it to None or leave it at the SCGIServer value.

SCGIMount in scgi-1.5 crashes spectacularly.  It does different things
depending on script_name, but all of them are wrong.  The following bugs
were observed with the Quixote demo mounted at /rlink.

To get the script name and path info envvars, I added this to
quixote/server/scgi_server.py line 22:

import sys;  print >>sys.stderr, "SCRIPT_NAME=%r PATH_INFO=%r" %
(env.get('SCRIPT_NAME'), env.get('PATH_INFO'))


"https://localhost/rlink/", Apache log sez "500: premature end of script
headers".  Quixote says "AssertionError: path '/rlin' doesn't start with
script_name '/rlink'"
SCRIPT_NAME='/rlin' PATH_INFO='//'

Verdict2: went to "https://localhost/rlink/simple", Quixote sez
"IOError: short netstring read" (scgi_server.py line 23).
'env' has not been established by this point.

Verdict3: went to "https://localhost/rlink/db/db/" (which doesn't exist).
Same Apache error; Quixote AssertionError: path '/r' doesn't start with
script_name = '/rlink'.
SCRIPT_NAME='/r' PATH_INFO='/db//db/'

Without script_name, redirects in the application succeeded but dropped
the "rlink" component, making the URL point to nonexistent static files.

Again, this is all with scgi-1.5.  scgi-1.6 works fine.

Re my other questions, no I don't need SCGIHandler or SCGITimeout for
SCGIMount; I just feel it needs to be documented if they are ignored.
Same for script_name.

--
-- Mike Orr 

reply